Le premier objectif de ce code est de caractériser les quartiers IRIS dans lesquels sont construits des logements sociaux en réponse à la loi SRU. Le second but du code est de caractériser les logements construits en réponse à la loi SRU.

library(readr)
library(dplyr)
## 
## Attachement du package : 'dplyr'
## Les objets suivants sont masqués depuis 'package:stats':
## 
##     filter, lag
## Les objets suivants sont masqués depuis 'package:base':
## 
##     intersect, setdiff, setequal, union
library(sqldf)
## Le chargement a nécessité le package : gsubfn
## Le chargement a nécessité le package : proto
## Warning in fun(libname, pkgname): couldn't connect to display ":0"
## Le chargement a nécessité le package : RSQLite
library(weights)
## Le chargement a nécessité le package : Hmisc
## Le chargement a nécessité le package : lattice
## Le chargement a nécessité le package : survival
## Le chargement a nécessité le package : Formula
## Le chargement a nécessité le package : ggplot2
## 
## Attachement du package : 'Hmisc'
## Les objets suivants sont masqués depuis 'package:dplyr':
## 
##     src, summarize
## Les objets suivants sont masqués depuis 'package:base':
## 
##     format.pval, units
# Les logements sociaux du parc HLM en 2021
geoloc2021_decret <- read.csv(
  "/data/user/g/fgoffette/VenteHLM/donnees_brutes/rpls/geoloc2021_decret.csv", 
  sep = ';')

# les logements sociaux du parc HLM en 2019
# problème avec la lecture du fichier
#geoloc2019_decret <- read.csv(
#  "/data/user/g/fgoffette/VenteHLM/donnees_brutes/rpls/geoloc2019_decret.csv", 
#  sep = ';')

# Les communes soumises à la loi SRU
communes_soumises_SRU <- read.csv(
  "../donnees_resultat/communes_soumises_SRU.csv")

# Les codes des arrondissement de Marseille, Lyon et Paris
arrondissements = c()
arrondissements$code = c(13201:13216, 69381:69389, 75101:75120)
arrondissements = as.data.frame(arrondissements)

# Les données de population 2019 INSEE selon les quartiers IRIS
pop_2019 <- read.csv("../donnees_initiales/base-ic-evol-struct-pop-2019.CSV",
                     sep = ";")

# Les données de logements 2019 INSEE selon les quartiers IRIS
log_2019 <- read.csv("../donnees_initiales/base-ic-logement-2019.CSV", 
                     sep = ";")

ls_reponse = readRDS("../donnees_resultat/logements_reponse_SRU.rds")
pop_log_2019 <- 
  left_join(pop_2019, log_2019,
            by = c("IRIS", "COM", "TYP_IRIS", "MODIF_IRIS", "LAB_IRIS", "P19_PMEN"))
length(pop_log_2019$IRIS)
## [1] 49282

Il y a 49282 quartiers IRIS dans toute la France.

# On sélectionne les colonnes qui nous intéresse dans les logements concernés par la loi SRU
ls_reponse <- ls_reponse[, c("IDENT_REP", # code du logement dans le fichier RPLS
                             "DEPCOM", # code de la commune
                             "CONSTRUCT", # année de construction
                             "FINAN", # type de LS
                             "LOYERPRINC", "LOYERACC", # loyer
                             "loymoy", 
                             "SURFHAB", # la surface habitable
                             "PLG_IRIS2021", # code quartier IRIS
                             "QUALITE_IRIS",
                             "NBPIECE")] # nombre de pièce du logement'

# On concatène les codes des communes et des quartiers IRIS
# pour avoir le code du quartier en entier
ls_reponse$quartier_iris <- paste(ls_reponse$DEPCOM, ls_reponse$PLG_IRIS2021,
                                  sep = "")

# changements des arrondissements en communes
# Marseille
ls_reponse$DEPCOM[ls_reponse$DEPCOM %in% 13201:13216] <- 13055
# Lyon
ls_reponse$DEPCOM[ls_reponse$DEPCOM %in% 69381:69389] <- 69123
# Paris
ls_reponse$DEPCOM[ls_reponse$DEPCOM %in% 75101:75120] <- 75056

print(c("Nombre de logements :", length(ls_reponse$DEPCOM)))
## [1] "Nombre de logements :" "492316"
print(c("Nombre de communes :" , length(table(ls_reponse$DEPCOM))))
## [1] "Nombre de communes :" "1436"
# Lorsque les communes ne sont pas divisées en quartier IRIS,
# elles sont notées CSZ dans le fichier RPLS et
# elles sont notées 0000 dans le fichier de la population IRIS.
ls_reponse$PLG_IRIS2021[ls_reponse$PLG_IRIS2021 == 'CSZ'] = '0000'
#geoloc2021$PLG_IRIS2021[is.na(geoloc2021$PLG_IRIS2021)] = '0000
mydb <- dbConnect(RSQLite::SQLite(), "")
dbWriteTable(mydb, "communes_soumises_SRU", communes_soumises_SRU)
dbWriteTable(mydb, "arrondissements", arrondissements)
dbWriteTable(mydb, "geoloc2021_decret", geoloc2021_decret)

LOYERCOM <- # les loyers moyen et médian des LS des communes
  dbGetQuery(mydb, "
        SELECT DEPCOM,
        AVG(LOYERPRINC) \"LOYERCOM_MOY\", 
        MEDIAN(LOYERPRINC) \"LOYERCOM_MED\",
        COUNT(DEPCOM)
        FROM geoloc2021_decret
        WHERE DEPCOM IN (SELECT code_commune FROM communes_soumises_SRU
                         UNION
                         SELECT code FROM arrondissements)
        GROUP BY DEPCOM
        ")
dbDisconnect(mydb)

# changements des arrondissements en communes
# Marseille
LOYERCOM$DEPCOM[LOYERCOM$DEPCOM %in% 13201:13216] <- 13055
# Lyon
LOYERCOM$DEPCOM[LOYERCOM$DEPCOM %in% 69381:69389] <- 69123
# Paris
LOYERCOM$DEPCOM[LOYERCOM$DEPCOM %in% 75101:75120] <- 75056

Caractèrisation des quartiers

pop_log_2019$taux_ages65P <-
  pop_log_2019$P19_POP65P / pop_log_2019$P19_POP

pop_log_2019$taux_moins20ans <-
  pop_log_2019$P19_POP0019 / pop_log_2019$P19_POP
LS_IRIS <- left_join(ls_reponse, pop_log_2019, by = c("quartier_iris" = "IRIS"))
#sqldf("SELECT *
 #      FROM geoloc2021 g LEFT JOIN 
  #          pop_log_2019 p ON(g.quartier_iris = p.IRIS)")
#communes qui ont fait partie du territoire SRU à un moment
communes_territoire_SRU <- 
  read.csv("../donnees_resultat/LLS_par_commune.csv")$code_commune
# quartiers IRIS du territoire SRU (même les communes non soumises)
pop_log_2019_terrsru <- 
  pop_log_2019[pop_log_2019$COM %in% c(communes_territoire_SRU, 
                                       arrondissements),]

# quartiers IRIS des communes soumises au moins une fois à la loi SRU
pop_log_2019_cososru <- 
  pop_log_2019[pop_log_2019$COM %in% c(communes_soumises_SRU$code_commune, 
                                       arrondissements),]
couleur_france = 'darkmagenta'
couleur_territoiresru = 'plum'
couleur_communessru = 'mediumpurple'
couleur_hist = 'midnightblue'
couleur_quartiersru = 'navy'
couleur_hist_quartiersru = 'forestgreen' 

Cadres

pop_log_2019$taux_cadre <-
  pop_log_2019$C19_POP15P_CS3 / pop_log_2019$C19_POP15P
pop_log_2019_terrsru$taux_cadre <-
  pop_log_2019_terrsru$C19_POP15P_CS3 / pop_log_2019_terrsru$C19_POP15P
pop_log_2019_cososru$taux_cadre <-
  pop_log_2019_cososru$C19_POP15P_CS3 / pop_log_2019_cososru$C19_POP15P

LS_IRIS$taux_cadre <-
  LS_IRIS$C19_POP15P_CS3 / LS_IRIS$C19_POP15P

Le nombre de cadres apparaît dans 49112 quartiers, dont 19792 dans le territoire SRU et 6593 dans les communes soumises à la loi SRU.

# pour toute la France (un poids par quartier)
length(pop_log_2019$taux_cadre[is.na(pop_log_2019$taux_cadre) == 0])
## [1] 49112
# le nombre de cadres apparait dans 49112 quartiers IRIS (il en manque 170)

par(mfrow=c(3,2), oma = c(0, 0, 2, 0), mar = c(2, 2, 1, 1))
plot(density(pop_log_2019$taux_cadre[is.na(pop_log_2019$taux_cadre) == 0]),
     main = "En France, par quartier", lty = 3,
     col = couleur_france, lwd = 3, cex.main = 1)
hist(pop_log_2019$taux_cadre, col = couleur_hist, density = 25,
     add = TRUE, freq = F)

# pour toute la France (un poids par RP)
taux_cadre_france <-
  density(pop_log_2019$taux_cadre[is.na(pop_log_2019$taux_cadre) == 0],
        weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_cadre) == 0]/
          sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_cadre) == 0]))

plot(taux_cadre_france, lty = 3,
     main = "En France, par logement",
     col = couleur_france, lwd = 3, cex.main = 1)
wtd.hist(x = pop_log_2019$taux_cadre[is.na(pop_log_2019$taux_cadre) == 0], 
         weight = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_cadre) == 0]/
          sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_cadre) == 0]),
         col = couleur_hist, density = 25,
         add = TRUE, freq = F)

# pour le territoire SRU (un poids par quartier)
plot(density(pop_log_2019_terrsru$taux_cadre[is.na(pop_log_2019_terrsru$taux_cadre) == 0]),
     main = "Dans le territoire SRU, par quartier",
     col = couleur_territoiresru, lwd = 3, cex.main = 1)
hist(pop_log_2019_terrsru$taux_cadre, col = couleur_hist, density = 25,
     add = TRUE, freq = F)

# pour le territoire SRU (un poids par RP)
taux_cadre_terrsru <-
  density(pop_log_2019_terrsru$taux_cadre[is.na(pop_log_2019_terrsru$taux_cadre) == 0],
        weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_cadre) == 0]/
          sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_cadre) == 0]))

plot(taux_cadre_terrsru,
     main = "Dans le territoire SRU, par logement",
     col = couleur_territoiresru, lwd = 3, cex.main = 1)
wtd.hist(x = pop_log_2019_terrsru$taux_cadre[is.na(pop_log_2019_terrsru$taux_cadre) == 0], 
         weight = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_cadre) == 0]/
          sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_cadre) == 0]),
         col = couleur_hist, density = 25,
         add = TRUE, freq = F)

# pour les communes soumises SRU (un poids par quartier)
plot(density(pop_log_2019_cososru$taux_cadre[is.na(pop_log_2019_cososru$taux_cadre) == 0]),
     main = "Dans les communes soumises, par quartier", lty = 5,
     col = couleur_communessru, lwd = 3, cex.main = 1)
hist(pop_log_2019_cososru$taux_cadre, col = couleur_hist, density = 25,
     add = TRUE, freq = F)

# pour les communes soumises SRU (un poids par RP)
taux_cadre_cososru <-
  density(pop_log_2019_cososru$taux_cadre[is.na(pop_log_2019_cososru$taux_cadre) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_cadre) == 0]/
          sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_cadre) == 0]))

plot(taux_cadre_cososru, lty = 5,
     main = "Dans les communes soumises, par logement",
     col = couleur_communessru, lwd = 3, cex.main = 1)
wtd.hist(x = pop_log_2019_cososru$taux_cadre[is.na(pop_log_2019_cososru$taux_cadre) == 0], 
         weight = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_cadre) == 0]/
          sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_cadre) == 0]),
         col = couleur_hist, density = 25,
         add = TRUE, freq = F)
title(main = "Taux de cadres dans les quartiers IRIS", outer = TRUE)

Cadres dans les logements construits pour la loi SRU

# un poids par logement
densite_cadres_iris <- density(
  pop_log_2019$taux_cadre[is.na(pop_log_2019$taux_cadre) == 0],
  weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_cadre) == 0]/
    sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_cadre) == 0]))

plot(density(LS_IRIS$taux_cadre[is.na(LS_IRIS$taux_cadre) == 0]), col = couleur_quartiersru,
     main = "Taux de cadres dans les LS construits entre 2002 et 2020",
     lwd = 2, xlim = c(0, 1), lty = 6)
hist(LS_IRIS$taux_cadre, freq = FALSE, xlim = c(0, 1), add = TRUE,
     col = couleur_hist_quartiersru, density = 25, breaks = 0:20*0.05)

plot(taux_cadre_terrsru, col = couleur_territoiresru, lty = 1, lwd = 2,
     main = "Densités des taux de cadres dans les quartiers IRIS")
lines(taux_cadre_cososru, lty = 5, lwd = 2, col = couleur_communessru)
lines(density(LS_IRIS$taux_cadre[is.na(LS_IRIS$taux_cadre) == 0]), col = "navy",
      lwd = 2, lty = 6)
legend('topright', 
       legend = c('territoire SRU', 'communes soumises', 'quartiers concernés par SRU'),
       lty = c(1, 5, 6), lwd = 2, col = c(couleur_territoiresru, couleur_communessru, couleur_quartiersru))

Etrangers et immigrés

pop_log_2019$taux_etrangersImmigres <-
  (pop_log_2019$P19_POP_ETR + pop_log_2019$P19_POP_IMM) / 
  (pop_log_2019$P19_POP_FR + pop_log_2019$P19_POP_ETR + 
     pop_log_2019$P19_POP_IMM)
pop_log_2019_terrsru$taux_etrangersImmigres <-
  (pop_log_2019_terrsru$P19_POP_ETR + pop_log_2019_terrsru$P19_POP_IMM) / 
  (pop_log_2019_terrsru$P19_POP_FR + pop_log_2019_terrsru$P19_POP_ETR + 
     pop_log_2019_terrsru$P19_POP_IMM)
pop_log_2019_cososru$taux_etrangersImmigres <-
  (pop_log_2019_cososru$P19_POP_ETR + pop_log_2019_cososru$P19_POP_IMM) / 
  (pop_log_2019_cososru$P19_POP_FR + pop_log_2019_cososru$P19_POP_ETR + 
     pop_log_2019_cososru$P19_POP_IMM)

LS_IRIS$taux_etrangersImmigres <-
  (LS_IRIS$P19_POP_ETR + LS_IRIS$P19_POP_IMM) / (LS_IRIS$P19_POP_FR + LS_IRIS$P19_POP_ETR + LS_IRIS$P19_POP_IMM)

length(pop_log_2019$P19_POP_ETR[is.na(pop_log_2019$P19_POP_ETR) == 0])
## [1] 49282
length(pop_log_2019$P19_POP_IMM[is.na(pop_log_2019$P19_POP_IMM) == 0])
## [1] 49282
length(pop_log_2019$P19_POP_FR[is.na(pop_log_2019$P19_POP_FR) == 0])
## [1] 49282
# le nombre d'étrangers apparait dans ous les quartiers 
# vérification valeur aberrante
pop_log_2019[pop_log_2019$taux_etrangersImmigres > 1 & is.na(pop_log_2019$taux_etrangersImmigres) == 0,]
##   [1] IRIS                   COM                    TYP_IRIS              
##   [4] MODIF_IRIS             LAB_IRIS               P19_POP               
##   [7] P19_POP0002            P19_POP0305            P19_POP0610           
##  [10] P19_POP1117            P19_POP1824            P19_POP2539           
##  [13] P19_POP4054            P19_POP5564            P19_POP6579           
##  [16] P19_POP80P             P19_POP0014            P19_POP1529           
##  [19] P19_POP3044            P19_POP4559            P19_POP6074           
##  [22] P19_POP75P             P19_POP0019            P19_POP2064           
##  [25] P19_POP65P             P19_POPH               P19_H0014             
##  [28] P19_H1529              P19_H3044              P19_H4559             
##  [31] P19_H6074              P19_H75P               P19_H0019             
##  [34] P19_H2064              P19_H65P               P19_POPF              
##  [37] P19_F0014              P19_F1529              P19_F3044             
##  [40] P19_F4559              P19_F6074              P19_F75P              
##  [43] P19_F0019              P19_F2064              P19_F65P              
##  [46] C19_POP15P             C19_POP15P_CS1         C19_POP15P_CS2        
##  [49] C19_POP15P_CS3         C19_POP15P_CS4         C19_POP15P_CS5        
##  [52] C19_POP15P_CS6         C19_POP15P_CS7         C19_POP15P_CS8        
##  [55] C19_H15P               C19_H15P_CS1           C19_H15P_CS2          
##  [58] C19_H15P_CS3           C19_H15P_CS4           C19_H15P_CS5          
##  [61] C19_H15P_CS6           C19_H15P_CS7           C19_H15P_CS8          
##  [64] C19_F15P               C19_F15P_CS1           C19_F15P_CS2          
##  [67] C19_F15P_CS3           C19_F15P_CS4           C19_F15P_CS5          
##  [70] C19_F15P_CS6           C19_F15P_CS7           C19_F15P_CS8          
##  [73] P19_POP_FR             P19_POP_ETR            P19_POP_IMM           
##  [76] P19_PMEN               P19_PHORMEN            P19_LOG               
##  [79] P19_RP                 P19_RSECOCC            P19_LOGVAC            
##  [82] P19_MAISON             P19_APPART             P19_RP_1P             
##  [85] P19_RP_2P              P19_RP_3P              P19_RP_4P             
##  [88] P19_RP_5PP             P19_NBPI_RP            P19_RPMAISON          
##  [91] P19_NBPI_RPMAISON      P19_RPAPPART           P19_NBPI_RPAPPART     
##  [94] P19_RP_M30M2           P19_RP_3040M2          P19_RP_4060M2         
##  [97] P19_RP_6080M2          P19_RP_80100M2         P19_RP_100120M2       
## [100] P19_RP_120M2P          P19_RP_ACHTOT          P19_RP_ACH19          
## [103] P19_RP_ACH45           P19_RP_ACH70           P19_RP_ACH90          
## [106] P19_RP_ACH05           P19_RP_ACH15           P19_RPMAISON_ACHTOT   
## [109] P19_RPMAISON_ACH19     P19_RPMAISON_ACH45     P19_RPMAISON_ACH70    
## [112] P19_RPMAISON_ACH90     P19_RPMAISON_ACH05     P19_RPMAISON_ACH15    
## [115] P19_RPAPPART_ACHTOT    P19_RPAPPART_ACH19     P19_RPAPPART_ACH45    
## [118] P19_RPAPPART_ACH70     P19_RPAPPART_ACH90     P19_RPAPPART_ACH05    
## [121] P19_RPAPPART_ACH15     P19_MEN                P19_MEN_ANEM0002      
## [124] P19_MEN_ANEM0204       P19_MEN_ANEM0509       P19_MEN_ANEM10P       
## [127] P19_PMEN_ANEM0002      P19_PMEN_ANEM0204      P19_PMEN_ANEM0509     
## [130] P19_PMEN_ANEM10P       P19_NBPI_RP_ANEM0002   P19_NBPI_RP_ANEM0204  
## [133] P19_NBPI_RP_ANEM0509   P19_NBPI_RP_ANEM10P    P19_RP_PROP           
## [136] P19_RP_LOC             P19_RP_LOCHLMV         P19_RP_GRAT           
## [139] P19_NPER_RP            P19_NPER_RP_PROP       P19_NPER_RP_LOC       
## [142] P19_NPER_RP_LOCHLMV    P19_NPER_RP_GRAT       P19_ANEM_RP           
## [145] P19_ANEM_RP_PROP       P19_ANEM_RP_LOC        P19_ANEM_RP_LOCHLMV   
## [148] P19_ANEM_RP_GRAT       P19_RP_SDB             P19_RP_CCCOLL         
## [151] P19_RP_CCIND           P19_RP_CINDELEC        P19_RP_ELEC           
## [154] P19_RP_EAUCH           P19_RP_BDWC            P19_RP_CHOS           
## [157] P19_RP_CLIM            P19_RP_TTEGOU          P19_RP_GARL           
## [160] P19_RP_VOIT1P          P19_RP_VOIT1           P19_RP_VOIT2P         
## [163] P19_RP_HABFOR          P19_RP_CASE            P19_RP_MIBOIS         
## [166] P19_RP_MIDUR           C19_RP_HSTU1P          C19_RP_HSTU1P_SUROCC  
## [169] taux_ages65P           taux_moins20ans        taux_cadre            
## [172] taux_etrangersImmigres
## <0 lignes> (ou 'row.names' de longueur nulle)

Les nombres d’étrangers, de français et d’immigrés apparraissent dans tous les quartiers, mais pour certains quartiers il n’y a pas d’habitant, ainsi il n’est pas possible de calculer les taux d’étrangers et d’immigrés.

# pour toute la France (un poids par quartier)
length(pop_log_2019$taux_etrangersImmigres[is.na(pop_log_2019$taux_etrangersImmigres) == 0])
## [1] 49134
# le taux d'immigrés et d'étrangers apparait dans 49134 quartiers IRIS (il en manque 148)

par(mfrow=c(3,2), oma = c(0, 0, 2, 0), mar = c(2, 2, 1, 1))

plot(density(pop_log_2019$taux_etrangersImmigres[is.na(pop_log_2019$taux_etrangersImmigres) == 0]),
     main = "En France, par quartier", cex.main = 1,
     col = couleur_france, lwd = 3, lty = 3)
hist(pop_log_2019$taux_etrangersImmigres, col = couleur_hist, density = 25,
     add = TRUE, freq = F)

# pour toute la France (un poids par RP)
taux_etrangersImmigres_france <-
  density(pop_log_2019$taux_etrangersImmigres[is.na(pop_log_2019$taux_etrangersImmigres) == 0],
        weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_etrangersImmigres) == 0]/
          sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_etrangersImmigres) == 0]))

plot(taux_etrangersImmigres_france, lty = 3, cex.main = 1,
     main = "En France, par logement",
     col = couleur_france, lwd = 3)
wtd.hist(x = pop_log_2019$taux_etrangersImmigres[is.na(pop_log_2019$taux_etrangersImmigres) == 0], 
         weight = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_etrangersImmigres) == 0]/
          sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_etrangersImmigres) == 0]),
         col = couleur_hist, density = 25,
         add = TRUE, freq = F)

# pour le territoire SRU (un poids par quartier)
plot(density(pop_log_2019_terrsru$taux_etrangersImmigres[is.na(pop_log_2019_terrsru$taux_etrangersImmigres) == 0]),
     main = "Dans le territoire SRU, par quartier", cex.main = 1,
     col = couleur_territoiresru, lwd = 3)
hist(pop_log_2019_terrsru$taux_etrangersImmigres, col = couleur_hist, density = 25,
     add = TRUE, freq = F)

# pour le territoire SRU (un poids par RP)
taux_etrangersImmigres_terrsru <-
  density(pop_log_2019_terrsru$taux_etrangersImmigres[is.na(pop_log_2019_terrsru$taux_etrangersImmigres) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_etrangersImmigres) == 0]/
          sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_etrangersImmigres) == 0]))

plot(taux_etrangersImmigres_terrsru, cex.main = 1,
     main = "Dans le territoire SRU, par logement",
     col = couleur_territoiresru, lwd = 3)
wtd.hist(x = pop_log_2019_terrsru$taux_etrangersImmigres[is.na(pop_log_2019_terrsru$taux_etrangersImmigres) == 0], 
         weight = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_etrangersImmigres) == 0]/
          sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_etrangersImmigres) == 0]),
         col = couleur_hist, density = 25,
         add = TRUE, freq = F)

# pour les communes soumises SRU (un poids par quartier)
plot(density(pop_log_2019_cososru$taux_etrangersImmigres[is.na(pop_log_2019_cososru$taux_etrangersImmigres) == 0]),
     main = "Dans les communes soumises, par quartier", cex.main = 1,
     col = couleur_communessru, lwd = 3, lty = 5)
hist(pop_log_2019_cososru$taux_etrangersImmigres, col = couleur_hist, density = 25,
     add = TRUE, freq = F, breaks = 0:20*0.05)

# pour les communes soumises SRU (un poids par RP)
taux_etrangersImmigres_cososru <-
  density(pop_log_2019_cososru$taux_etrangersImmigres[is.na(pop_log_2019_cososru$taux_etrangersImmigres) == 0],
        weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_etrangersImmigres) == 0]/
          sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_etrangersImmigres) == 0]))

plot(taux_etrangersImmigres_cososru, lty = 5, cex.main = 1,
     main = "Dans les communes soumises, par logement",
     col = couleur_communessru, lwd = 3)
wtd.hist(x = pop_log_2019_cososru$taux_etrangersImmigres[is.na(pop_log_2019_cososru$taux_etrangersImmigres) == 0], 
         weight = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_etrangersImmigres) == 0]/
          sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_etrangersImmigres) == 0]),
         col = couleur_hist, density = 25, breaks = 20,
         add = TRUE, freq = F)

title(main = "Taux d'étrangers et d'immigrés dans les quartiers IRIS",
      outer = TRUE)

Etrangers et immigrés dans les logements construits pour la loi SRU

# un poids par logement
plot(density(LS_IRIS$taux_etrangersImmigres[is.na(
     LS_IRIS$taux_etrangersImmigres) == 0]), col = couleur_quartiersru,
     main = "Taux d'étrangers et d'immigrés dans les IRIS des logements réponse",
     lwd = 2, xlim = c(0, 1), lty = 6)
hist(LS_IRIS$taux_etrangersImmigres, freq = FALSE, xlim = c(0, 1), add = TRUE,
     col = couleur_hist_quartiersru, density = 25, breaks = 0:20*0.05)

plot(taux_etrangersImmigres_terrsru, col = couleur_territoiresru, lty = 1, 
     lwd = 2, ylim = c(0, 5),
     main = "Densités des taux d'étrangers et d'immigrés dans les quartiers IRIS")
lines(taux_etrangersImmigres_cososru, lty = 5, lwd = 2, col = couleur_communessru)
lines(density(LS_IRIS$taux_etrangersImmigres[is.na(LS_IRIS$taux_etrangersImmigres) == 0]), col = "navy",
      lwd = 2, lty = 6)
legend('topright', 
       legend = c('territoire SRU', 'communes soumises', 
                  'quartiers concernés par SRU'),
       lty = c(1, 5, 6), lwd = 2, 
       col = c(couleur_territoiresru, couleur_communessru, couleur_quartiersru))

Logements récents ou anciens ?

par(mfrow = c(3, 2), oma = c(0, 9, 0, 9), mar = c(2, 3, 3, 2))
hist(pop_log_2019$P19_RP_ACH19) # Nombre de résidences principales construites avant 1919
hist(pop_log_2019$P19_RP_ACH45) # Nombre de résidences principales construites entre 1919 et 1945
hist(pop_log_2019$P19_RP_ACH70) # Nombre de résidences principales construites entre 1946 et 1970
hist(pop_log_2019$P19_RP_ACH90) # Nombre de résidences principales construites entre 1970 et 1990
hist(pop_log_2019$P19_RP_ACH05) # Nombre de résidences principales construites entre 1991 et 2005
hist(pop_log_2019$P19_RP_ACH15) # Nombre de résidences principales construites entre 2006 et 2015

pop_log_2019$taux_av19 <-
  pop_log_2019$P19_RP_ACH19 / pop_log_2019$P19_RP_ACHTOT
pop_log_2019_terrsru$taux_av19 <-
  pop_log_2019_terrsru$P19_RP_ACH19 / pop_log_2019_terrsru$P19_RP_ACHTOT
pop_log_2019_cososru$taux_av19 <-
  pop_log_2019_cososru$P19_RP_ACH19 / pop_log_2019_cososru$P19_RP_ACHTOT

LS_IRIS$taux_av19 <-
  LS_IRIS$P19_RP_ACH19 / LS_IRIS$P19_RP_ACHTOT
pop_log_2019$taux_av19 <-
  pop_log_2019$P19_RP_ACH19 / pop_log_2019$P19_RP_ACHTOT
pop_log_2019_terrsru$taux_av19 <-
  pop_log_2019_terrsru$P19_RP_ACH19 / pop_log_2019_terrsru$P19_RP_ACHTOT
pop_log_2019_cososru$taux_av19 <-
  pop_log_2019_cososru$P19_RP_ACH19 / pop_log_2019_cososru$P19_RP_ACHTOT

LS_IRIS$taux_av19 <-
  LS_IRIS$P19_RP_ACH19 / LS_IRIS$P19_RP_ACHTOT
pop_log_2019$taux_19_45 <-
  pop_log_2019$P19_RP_ACH45 / pop_log_2019$P19_RP_ACHTOT
pop_log_2019_terrsru$taux_19_45 <-
  pop_log_2019_terrsru$P19_RP_ACH45 / pop_log_2019_terrsru$P19_RP_ACHTOT
pop_log_2019_cososru$taux_19_45 <-
  pop_log_2019_cososru$P19_RP_ACH45 / pop_log_2019_cososru$P19_RP_ACHTOT

LS_IRIS$taux_19_45 <-
  LS_IRIS$P19_RP_ACH45 / LS_IRIS$P19_RP_ACHTOT
pop_log_2019$taux_46_70 <-
  pop_log_2019$P19_RP_ACH70 / pop_log_2019$P19_RP_ACHTOT
pop_log_2019_terrsru$taux_46_70 <-
  pop_log_2019_terrsru$P19_RP_ACH70 / pop_log_2019_terrsru$P19_RP_ACHTOT
pop_log_2019_cososru$taux_46_70 <-
  pop_log_2019_cososru$P19_RP_ACH70 / pop_log_2019_cososru$P19_RP_ACHTOT

LS_IRIS$taux_46_70 <-
  LS_IRIS$P19_RP_ACH70 / LS_IRIS$P19_RP_ACHTOT
pop_log_2019$taux_71_90 <-
  pop_log_2019$P19_RP_ACH90 / pop_log_2019$P19_RP_ACHTOT
pop_log_2019_terrsru$taux_71_90 <-
  pop_log_2019_terrsru$P19_RP_ACH90 / pop_log_2019_terrsru$P19_RP_ACHTOT
pop_log_2019_cososru$taux_71_90 <-
  pop_log_2019_cososru$P19_RP_ACH90 / pop_log_2019_cososru$P19_RP_ACHTOT

LS_IRIS$taux_71_90 <-
  LS_IRIS$P19_RP_ACH90 / LS_IRIS$P19_RP_ACHTOT
pop_log_2019$taux_91_05 <-
  pop_log_2019$P19_RP_ACH05 / pop_log_2019$P19_RP_ACHTOT
pop_log_2019_terrsru$taux_91_05 <-
  pop_log_2019_terrsru$P19_RP_ACH05 / pop_log_2019_terrsru$P19_RP_ACHTOT
pop_log_2019_cososru$taux_91_05 <-
  pop_log_2019_cososru$P19_RP_ACH05 / pop_log_2019_cososru$P19_RP_ACHTOT

LS_IRIS$taux_91_05 <-
  LS_IRIS$P19_RP_ACH05 / LS_IRIS$P19_RP_ACHTOT
pop_log_2019$taux_06_15 <-
  pop_log_2019$P19_RP_ACH15 / pop_log_2019$P19_RP_ACHTOT
pop_log_2019_terrsru$taux_06_15 <-
  pop_log_2019_terrsru$P19_RP_ACH15 / pop_log_2019_terrsru$P19_RP_ACHTOT
pop_log_2019_cososru$taux_06_15 <-
  pop_log_2019_cososru$P19_RP_ACH15 / pop_log_2019_cososru$P19_RP_ACHTOT

LS_IRIS$taux_06_15 <-
  LS_IRIS$P19_RP_ACH15 / LS_IRIS$P19_RP_ACHTOT

Ancienneté des logements dans toute la France

# Sur l'ensemble des quartiers (un poids par quartier)
par(mfrow=c(3,2), oma = c(0, 0, 2, 0), mar = c(2, 2, 1, 1))
# Taux de résidences principales construites avant 1919
hist(pop_log_2019$taux_av19, cex.main = 1,
     main = "Construits avant 1919", xlab = "taux de résidences principales",
     col = "navajowhite")
# Taux de résidences principales construites entre 1919 et 1945
hist(pop_log_2019$taux_19_45, cex.main = 1,
     main = "Construits entre 1919 et 1945", col = "lightskyblue1",
     xlab = "taux de résidences principales") 
# Taux de résidences principales construites entre 1946 et 1970
hist(pop_log_2019$taux_46_70, cex.main = 1,
     main = "Construits entre 1946 et 1970", col = "palegreen",
     xlab = "taux de résidences principales") 
# Taux de résidences principales construites entre 1971 et 1990
hist(pop_log_2019$taux_71_90, cex.main = 1,
     main = "Construits entre 1971 et 1990", col = "pink",
     xlab = "taux de résidences principales")
# Taux de résidences principales construites entre 1991 et 2005
hist(pop_log_2019$taux_91_05, cex.main = 1,
     main = "Construits entre 1991 et 2005", col = couleur_territoiresru,
     xlab = "taux de résidences principales") 
# Taux de résidences principales construites entre 2006 et 2015
hist(pop_log_2019$taux_06_15, cex.main = 1,
     main = "Construits entre 2006 et 2015", col = "snow",
     xlab = "taux de résidences principales") 

title("Taux des dates de constructions de logements des quartiers IRIS",
      outer = TRUE)

# Sur l'ensemble des quartiers (un poids par logement)
par(mfrow = c(3, 2), oma = c(0, 9, 2, 9), mar = c(2, 2, 2, 2))
# Taux de résidences principales construites avant 1919
taux_ancien_av19_france <-
  density(pop_log_2019$taux_av19[is.na(pop_log_2019$taux_av19) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_av19) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_av19) == 0]))
plot(taux_ancien_av19_france, col = couleur_france, lwd = 1.5, cex.main = 1,
     main = "Construits avant 1919", lty = 3)
wtd.hist(x = pop_log_2019$taux_av19[is.na(pop_log_2019$taux_av19) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_av19) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_av19) == 0]),
         col = "navajowhite", density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 1919 et 1945
taux_ancien_19_45_france <-
  density(pop_log_2019$taux_19_45[is.na(pop_log_2019$taux_19_45) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_19_45) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_19_45) == 0]))
plot(taux_ancien_19_45_france, col = couleur_france, lwd = 1.5, cex.main = 1,
     main = "Construits entre 1919 et 1945", lty = 3)
wtd.hist(x = pop_log_2019$taux_19_45[is.na(pop_log_2019$taux_19_45) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_19_45) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_19_45) == 0]),
         col = "lightskyblue1", density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 1946 et 1970
taux_ancien_46_70_france <-
  density(pop_log_2019$taux_46_70[is.na(pop_log_2019$taux_46_70) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_46_70) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_46_70) == 0]))
plot(taux_ancien_46_70_france, col = couleur_france, lwd = 1.5, cex.main = 1,
     main = "Construits entre 1946 et 1970", ylim = c(0, 5.5), lty = 3)
wtd.hist(x = pop_log_2019$taux_46_70[is.na(pop_log_2019$taux_46_70) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_46_70) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_46_70) == 0]),
         col = "palegreen", density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 1971 et 1990
taux_ancien_71_90_france <-
  density(pop_log_2019$taux_71_90[is.na(pop_log_2019$taux_71_90) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_71_90) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_71_90) == 0]))
plot(taux_ancien_71_90_france, col = couleur_france, lwd = 1.5, cex.main = 1,
     main = "Construits entre 1971 et 1990", lty = 3)
wtd.hist(x = pop_log_2019$taux_71_90[is.na(pop_log_2019$taux_71_90) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_71_90) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_71_90) == 0]),
         col = "pink", density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 1991 et 2005
taux_ancien_91_05_france <-
  density(pop_log_2019$taux_91_05[is.na(pop_log_2019$taux_91_05) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_91_05) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_91_05) == 0]))
plot(taux_ancien_91_05_france, col = couleur_france, lwd = 1.5, cex.main = 1,
     main = "Construits entre 1991 et 2005", ylim = c(0, 5), lty = 3)
wtd.hist(x = pop_log_2019$taux_91_05[is.na(pop_log_2019$taux_91_05) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_91_05) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_91_05) == 0]),
         col = couleur_territoiresru, density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 2006 et 2015
taux_ancien_06_15_france <-
  density(pop_log_2019$taux_06_15[is.na(pop_log_2019$taux_06_15) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_06_15) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_06_15) == 0]))
plot(taux_ancien_06_15_france, col = couleur_france, lwd = 1.5, cex.main = 1,
     main = "Construits entre 2006 et 2015", ylim = c(0, 6), lty = 3)
wtd.hist(x = pop_log_2019$taux_06_15[is.na(pop_log_2019$taux_06_15) == 0],
          weights = pop_log_2019$P19_RP[is.na(pop_log_2019$taux_06_15) == 0]/
            sum(pop_log_2019$P19_RP[is.na(pop_log_2019$taux_06_15) == 0]),
         col = "snow3", density = 30, add = TRUE, freq = FALSE)

title("Taux des dates de constructions de logements des quartiers IRIS",
      outer = TRUE)

Ancienneté des logements dans le territoire SRU

# Sur l'ensemble des quartiers (un poids par quartier)
par(mfrow = c(3, 2), oma = c(0, 9, 2, 9), mar = c(2, 2, 2, 2))
# Taux de résidences principales construites avant 1919
hist(pop_log_2019_terrsru$taux_av19, 
     main = "Construits avant 1919", xlab = "taux de résidences principales",
     col = "navajowhite", cex.main = 1)
# Taux de résidences principales construites entre 1919 et 1945
hist(pop_log_2019_terrsru$taux_19_45,
     main = "Construits entre 1919 et 1945", col = "lightskyblue1",
     xlab = "taux de résidences principales", cex.main = 1) 
# Taux de résidences principales construites entre 1946 et 1970
hist(pop_log_2019_terrsru$taux_46_70,
     main = "Construits entre 1946 et 1970", col = "palegreen",
     xlab = "taux de résidences principales", cex.main = 1) 
# Taux de résidences principales construites entre 1971 et 1990
hist(pop_log_2019_terrsru$taux_71_90,
     main = "Construits entre 1971 et 1990", col = "pink",
     xlab = "taux de résidences principales", cex.main = 1)
# Taux de résidences principales construites entre 1991 et 2005
hist(pop_log_2019_terrsru$taux_91_05,
     main = "Construits entre 1991 et 2005", col = couleur_territoiresru,
     xlab = "taux de résidences principales", cex.main = 1) 
# Taux de résidences principales construites entre 2006 et 2015
hist(pop_log_2019_terrsru$taux_06_15,
     main = "Construits entre 2006 et 2015", col = "snow",
     xlab = "taux de résidences principales", cex.main = 1) 

title("Taux des dates de constructions de logements des quartiers IRIS du territoire SRU",
      outer = TRUE, cex.main = 1.1)

# Sur les quartiers du territoire SRU (un poids par logement)
par(mfrow = c(3, 2), oma = c(0, 9, 2, 9), mar = c(2, 2, 2, 2))
# Taux de résidences principales construites avant 1919
taux_ancien_av19_terrsru <-
  density(pop_log_2019_terrsru$taux_av19[is.na(pop_log_2019_terrsru$taux_av19) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_av19) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_av19) == 0]))
plot(taux_ancien_av19_terrsru, col = couleur_territoiresru, lwd = 1.5,
     main = "Construits avant 1919", cex.main = 1)
wtd.hist(x = pop_log_2019_terrsru$taux_av19[is.na(pop_log_2019_terrsru$taux_av19) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_av19) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_av19) == 0]),
         col = "navajowhite", density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 1919 et 1945
taux_ancien_19_45_terrsru <-
  density(pop_log_2019_terrsru$taux_19_45[is.na(pop_log_2019_terrsru$taux_19_45) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_19_45) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_19_45) == 0]))
plot(taux_ancien_19_45_terrsru, col = couleur_territoiresru, lwd = 1.5,
     main = "Construits entre 1919 et 1945", cex.main = 1)
wtd.hist(x = pop_log_2019_terrsru$taux_19_45[is.na(pop_log_2019_terrsru$taux_19_45) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_19_45) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_19_45) == 0]),
         col = "lightskyblue1", density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 1946 et 1970
taux_ancien_46_70_terrsru <-
  density(pop_log_2019_terrsru$taux_46_70[is.na(pop_log_2019_terrsru$taux_46_70) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_46_70) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_46_70) == 0]))
plot(taux_ancien_46_70_terrsru, col = couleur_territoiresru, lwd = 1.5,
     main = "Construits entre 1946 et 1970", ylim = c(0, 4), cex.main = 1)
wtd.hist(x = pop_log_2019_terrsru$taux_46_70[is.na(pop_log_2019_terrsru$taux_46_70) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_46_70) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_46_70) == 0]),
         col = "palegreen", density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 1971 et 1990
taux_ancien_71_90_terrsru <-
  density(pop_log_2019_terrsru$taux_71_90[is.na(pop_log_2019_terrsru$taux_71_90) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_71_90) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_71_90) == 0]))
plot(taux_ancien_71_90_terrsru, col = couleur_territoiresru, lwd = 1.5,
     main = "Construits entre 1971 et 1990", cex.main = 1)
wtd.hist(x = pop_log_2019_terrsru$taux_71_90[is.na(pop_log_2019_terrsru$taux_71_90) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_71_90) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_71_90) == 0]),
         col = "pink", density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 1991 et 2005
taux_ancien_91_05_terrsru <-
  density(pop_log_2019_terrsru$taux_91_05[is.na(pop_log_2019_terrsru$taux_91_05) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_91_05) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_91_05) == 0]))
plot(taux_ancien_91_05_terrsru, col = couleur_territoiresru, lwd = 1.5,
     main = "Construits entre 1991 et 2005", ylim = c(0, 4), cex.main = 1)
wtd.hist(x = pop_log_2019_terrsru$taux_91_05[is.na(pop_log_2019_terrsru$taux_91_05) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_91_05) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_91_05) == 0]),
         col = couleur_territoiresru, density = 30, add = TRUE, freq = FALSE)

# Taux de résidences principales construites entre 2006 et 2015
taux_ancien_06_15_terrsru <-
  density(pop_log_2019_terrsru$taux_06_15[is.na(pop_log_2019_terrsru$taux_06_15) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_06_15) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_06_15) == 0]))
plot(taux_ancien_06_15_terrsru, col = couleur_territoiresru, lwd = 1.5,
     main = "Construits entre 2006 et 2015", ylim = c(0, 6), cex.main = 1)
wtd.hist(x = pop_log_2019_terrsru$taux_06_15[is.na(pop_log_2019_terrsru$taux_06_15) == 0],
          weights = pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_06_15) == 0]/
            sum(pop_log_2019_terrsru$P19_RP[is.na(pop_log_2019_terrsru$taux_06_15) == 0]),
         col = "snow3", density = 30, add = TRUE, freq = FALSE)

title("Taux des dates de constructions de logements des quartiers IRIS du territoire SRU",
      outer = TRUE, cex.main = 1.1)

Ancienneté des logements dans les quartiers IRIS des communes soumises à la loi SRU

# Sur l'ensemble des quartiers (un poids par quartier)
par(mfrow = c(3, 2), oma = c(0, 9, 2, 9), mar = c(2, 2, 2, 2))
# Taux de résidences principales construites avant 1919
hist(pop_log_2019_cososru$taux_av19, breaks = 0:20/20, cex.main = 1,
     main = "Construits avant 1919", xlab = "taux de résidences principales",
     col = "navajowhite")
# Taux de résidences principales construites entre 1919 et 1945
hist(pop_log_2019_cososru$taux_19_45, breaks = 0:20/20, cex.main = 1,
     main = "Construits entre 1919 et 1945", col = "lightskyblue1",
     xlab = "taux de résidences principales") 
# Taux de résidences principales construites entre 1946 et 1970
hist(pop_log_2019_cososru$taux_46_70, breaks = 0:20/20, cex.main = 1,
     main = "Construits entre 1946 et 1970", col = "palegreen",
     xlab = "taux de résidences principales") 
# Taux de résidences principales construites entre 1971 et 1990
hist(pop_log_2019_cososru$taux_71_90, breaks = 0:20/20, cex.main = 1,
     main = "Construits entre 1971 et 1990", col = "pink",
     xlab = "taux de résidences principales")
# Taux de résidences principales construites entre 1991 et 2005
hist(pop_log_2019_cososru$taux_91_05, breaks = 0:20/20, cex.main = 1,
     main = "Construits entre 1991 et 2005", col = couleur_territoiresru,
     xlab = "taux de résidences principales") 
# Taux de résidences principales construites entre 2006 et 2015
hist(pop_log_2019_cososru$taux_06_15, breaks = 0:20/20, cex.main = 1,
     main = "Construits entre 2006 et 2015", col = "snow",
     xlab = "taux de résidences principales") 

title("Taux des dates de constructions de logements des quartiers IRIS des communes soumises à la loi SRU",
      outer = TRUE, cex.main = 0.9)

# Sur l'ensemble des quartiers (un poids par logement)
par(mfrow = c(3, 2), oma = c(0, 9, 2, 9), mar = c(2, 2, 2, 2))
# Taux de résidences principales construites avant 1919
taux_ancien_av19_cososru <-
  density(pop_log_2019_cososru$taux_av19[is.na(pop_log_2019_cososru$taux_av19) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_av19) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_av19) == 0]))
plot(taux_ancien_av19_cososru, col = couleur_communessru, lwd = 1.5,
     main = "Construits avant 1919", cex.main = 1, lty = 5)
wtd.hist(x = pop_log_2019_cososru$taux_av19[is.na(pop_log_2019_cososru$taux_av19) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_av19) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_av19) == 0]),
         col = "navajowhite", density = 30, add = TRUE, freq = FALSE, breaks = 0:20/20)

# Taux de résidences principales construites entre 1919 et 1945
taux_ancien_19_45_cososru <-
  density(pop_log_2019_cososru$taux_19_45[is.na(pop_log_2019_cososru$taux_19_45) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_19_45) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_19_45) == 0]))
plot(taux_ancien_19_45_cososru, col = couleur_communessru, lwd = 1.5,
     main = "Construits entre 1919 et 1945", cex.main = 1, lty = 5)
wtd.hist(x = pop_log_2019_cososru$taux_19_45[is.na(pop_log_2019_cososru$taux_19_45) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_19_45) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_19_45) == 0]),
         col = "lightskyblue1", density = 30, add = TRUE, freq = FALSE, breaks = 0:20/20)

# Taux de résidences principales construites entre 1946 et 1970
taux_ancien_46_70_cososru <-
  density(pop_log_2019_cososru$taux_46_70[is.na(pop_log_2019_cososru$taux_46_70) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_46_70) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_46_70) == 0]))
plot(taux_ancien_46_70_cososru, col = couleur_communessru, lwd = 1.5,
     main = "Construits entre 1946 et 1970", cex.main = 1, lty = 5)
wtd.hist(x = pop_log_2019_cososru$taux_46_70[is.na(pop_log_2019_cososru$taux_46_70) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_46_70) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_46_70) == 0]),
         col = "palegreen", density = 30, add = TRUE, freq = FALSE, breaks = 0:20/20)

# Taux de résidences principales construites entre 1971 et 1990
taux_ancien_71_90_cososru <-
  density(pop_log_2019_cososru$taux_71_90[is.na(pop_log_2019_cososru$taux_71_90) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_71_90) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_71_90) == 0]))
plot(taux_ancien_71_90_cososru, col = couleur_communessru, lwd = 1.5,
     main = "Construits entre 1971 et 1990", cex.main = 1, lty = 5)
wtd.hist(x = pop_log_2019_cososru$taux_71_90[is.na(pop_log_2019_cososru$taux_71_90) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_71_90) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_71_90) == 0]),
         col = "pink", density = 30, add = TRUE, freq = FALSE, breaks = 0:20/20)

# Taux de résidences principales construites entre 1991 et 2005
taux_ancien_91_05_cososru <-
  density(pop_log_2019_cososru$taux_91_05[is.na(pop_log_2019_cososru$taux_91_05) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_91_05) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_91_05) == 0]))
plot(taux_ancien_91_05_cososru, col = couleur_communessru, lwd = 1.5,
     main = "Construits entre 1991 et 2005", cex.main = 1, lty = 5)
wtd.hist(x = pop_log_2019_cososru$taux_91_05[is.na(pop_log_2019_cososru$taux_91_05) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_91_05) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_91_05) == 0]),
         col = couleur_territoiresru, density = 30, add = TRUE, freq = FALSE, breaks = 0:20/20)

# Taux de résidences principales construites entre 2006 et 2015
taux_ancien_06_15_cososru <-
  density(pop_log_2019_cososru$taux_06_15[is.na(pop_log_2019_cososru$taux_06_15) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_06_15) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_06_15) == 0]))
plot(taux_ancien_06_15_cososru, col = couleur_communessru, lwd = 1.5,
     main = "Construits entre 2006 et 2015", ylim = c(0, 6), cex.main = 1, lty = 5)
wtd.hist(x = pop_log_2019_cososru$taux_06_15[is.na(pop_log_2019_cososru$taux_06_15) == 0],
          weights = pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_06_15) == 0]/
            sum(pop_log_2019_cososru$P19_RP[is.na(pop_log_2019_cososru$taux_06_15) == 0]),
         col = "snow3", density = 30, add = TRUE, freq = FALSE, breaks = 0:20/20)

title("Taux des dates de constructions de logements des quartiers IRIS des communes soumises à la loi SRU",
      outer = TRUE, cex.main = 0.9)

Ancienneté des logements dans les quartiers IRIS des logements construits pour la loi SRU

Logements construits avant 1919

# un poids par logement
plot(density(LS_IRIS$taux_av19[is.na(LS_IRIS$taux_av19) == 0]), col = couleur_quartiersru,
     main = "Taux de constructions avant 1919",
     lwd = 2, xlim = c(0, 1), lty = 6)
hist(LS_IRIS$taux_av19, freq = FALSE, xlim = c(0, 1), add = TRUE,
     col = "orange", density = 25, breaks = 0:20*0.05)

plot(taux_ancien_av19_terrsru, col = couleur_territoiresru, lty = 1, lwd = 2,
     main = "Densités des logements construits avant 1919",
     ylim = c(0, 28))
lines(taux_ancien_av19_cososru, lty = 5, lwd = 2, col = couleur_communessru)
lines(density(LS_IRIS$taux_av19[is.na(LS_IRIS$taux_av19) == 0]), col = "navy",
      lwd = 2, lty = 6)
legend('topright', 
       legend = c('territoire SRU', 'communes soumises', 
                  'quartiers concernés par SRU'),
       lty = c(1, 5, 6), lwd = 2, 
       col = c(couleur_territoiresru, couleur_communessru, couleur_quartiersru))

Logements construits entre 1919 et 1945

# un poids par logement
plot(density(LS_IRIS$taux_19_45[is.na(LS_IRIS$taux_19_45) == 0]), col = couleur_quartiersru,
     main = "Taux de constructions entre 1919 et 1945",
     lwd = 2, xlim = c(0, 1), lty = 6)
hist(LS_IRIS$taux_19_45, freq = FALSE, xlim = c(0, 1), add = TRUE,
     col = "skyblue", density = 25, breaks = 0:20*0.05)

plot(taux_ancien_19_45_terrsru, col = couleur_territoiresru, lty = 1, lwd = 2,
     main = "Densités des logements construits entre 1919 et 1945",
     ylim = c(0, 22))
lines(taux_ancien_19_45_cososru, lty = 5, lwd = 2, col = couleur_communessru)
lines(density(LS_IRIS$taux_19_45[is.na(LS_IRIS$taux_19_45) == 0]), col = "navy",
      lwd = 2, lty = 6)
legend('topright', lty = c(1, 5, 6), lwd = 2, 
       legend = c('territoire SRU', 'communes soumises', 'quartiers concernés par SRU'), 
       col = c(couleur_territoiresru, couleur_communessru, couleur_quartiersru))

Logements construits entre 1946 et 1970

# un poids par logement
plot(density(LS_IRIS$taux_46_70[is.na(LS_IRIS$taux_46_70) == 0]), col = couleur_quartiersru,
     main = "Taux de constructions entre 1946 et 1970",
     lwd = 2, xlim = c(0, 1), lty = 6)
hist(LS_IRIS$taux_46_70, freq = FALSE, xlim = c(0, 1), add = TRUE,
     col = "palegreen", density = 25, breaks = 0:20*0.05)

plot(taux_ancien_46_70_terrsru, col = couleur_territoiresru, lty = 1, lwd = 2,
     main = "Densités des logements construits entre 1946 et 1970",
     ylim = c(0, 5))
lines(taux_ancien_46_70_cososru, lty = 5, lwd = 2, col = couleur_communessru)
lines(density(LS_IRIS$taux_46_70[is.na(LS_IRIS$taux_46_70) == 0]), col = "navy",
      lwd = 2, lty = 6)
legend('topright', lty = c(1, 5, 6), lwd = 2, 
       legend = c('territoire SRU', 'communes soumises', 'quartiers concernés par SRU'), 
       col = c(couleur_territoiresru, couleur_communessru, couleur_quartiersru))

Logements construits entre 1971 et 1990

# un poids par logement
plot(density(LS_IRIS$taux_71_90[is.na(LS_IRIS$taux_71_90) == 0]), col = couleur_quartiersru,
     main = "Taux de constructions entre 1971 et 1990",
     lwd = 2, xlim = c(0, 1), lty = 6)
hist(LS_IRIS$taux_71_90, freq = FALSE, xlim = c(0, 1), add = TRUE,
     col = "pink", density = 25, breaks = 0:20*0.05)

plot(taux_ancien_71_90_terrsru, col = couleur_territoiresru, lty = 1, lwd = 2,
     main = "Densités des logements construits entre 1971 et 1990", ylim = c(0, 3.5))
lines(taux_ancien_71_90_cososru, lty = 5, lwd = 2, col = couleur_communessru)
lines(density(LS_IRIS$taux_71_90[is.na(LS_IRIS$taux_71_90) == 0]), col = "navy",
      lwd = 2, lty = 6)
legend('topright', lty = c(1, 5, 6), lwd = 2, 
       legend = c('territoire SRU', 'communes soumises', 'quartiers concernés par SRU'), 
       col = c(couleur_territoiresru, couleur_communessru, couleur_quartiersru))

Logements construits entre 1991 et 2005

# un poids par logement
plot(density(LS_IRIS$taux_91_05[is.na(LS_IRIS$taux_91_05) == 0]), col = couleur_quartiersru,
     main = "Taux de constructions entre 1991 et 2005",
     lwd = 2, xlim = c(0, 1), lty = 6)
hist(LS_IRIS$taux_91_05, freq = FALSE, xlim = c(0, 1), add = TRUE,
     col = couleur_territoiresru, density = 25, breaks = 0:20*0.05)

plot(taux_ancien_91_05_terrsru, col = couleur_territoiresru, lty = 1, lwd = 2,
     main = "Densités des logements construits entre 1991 et 2005")
lines(taux_ancien_91_05_cososru, lty = 5, lwd = 2, col = couleur_communessru)
lines(density(LS_IRIS$taux_91_05[is.na(LS_IRIS$taux_91_05) == 0]), col = "navy",
      lwd = 2, lty = 6)
legend('topright', lty = c(1, 5, 6), lwd = 2, 
       legend = c('territoire SRU', 'communes soumises', 'quartiers concernés par SRU'), 
       col = c(couleur_territoiresru, couleur_communessru, couleur_quartiersru))

Logements construits entre 2006 et 2015

# un poids par logement
plot(density(LS_IRIS$taux_06_15[is.na(LS_IRIS$taux_06_15) == 0]), col = couleur_quartiersru,
     main = "Taux de constructions entre 2006 et 2016",
     lwd = 2, xlim = c(0, 1), lty = 6)
hist(LS_IRIS$taux_06_15, freq = FALSE, xlim = c(0, 1), add = TRUE,
     col = "snow4", density = 25, breaks = 0:20*0.05)

plot(taux_ancien_06_15_terrsru, col = couleur_territoiresru, lty = 1, lwd = 2,
     main = "Densités des logements construits entre 2006 et 2016")
lines(taux_ancien_06_15_cososru, lty = 5, lwd = 2, col = couleur_communessru)
lines(density(LS_IRIS$taux_06_15[is.na(LS_IRIS$taux_06_15) == 0]), col = "navy",
      lwd = 2, lty = 6)
legend('topright', lty = c(1, 5, 6), lwd = 2, 
       legend = c('territoire SRU', 'communes soumises', 'quartiers concernés par SRU'), 
       col = c(couleur_territoiresru, couleur_communessru, couleur_quartiersru))

Logements

Les logements construits pour la loi SRU

Loyer

# les loyers sont inscrits avec des ',' lorsque qu'il ne s'agit pas d'un nombre 
# entier donc R les comprend comme des chaîne de caractères. On remplace les ','
# par des '.' et on les transforme en nombres.
LS_IRIS$LOYERPRINC = as.numeric(gsub(',', '.', LS_IRIS$LOYERPRINC))

# Affichage
summary(LS_IRIS$LOYERPRINC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    32.0   358.0   438.0   451.8   519.0  2871.0   37268
hist(LS_IRIS$LOYERPRINC, main = "Loyer des logements réponse à la loi SRU",
     xlab = "loyer (en euro)")

boxplot(LS_IRIS$LOYERPRINC, main = "Loyer des logements réponse à la loi SRU")

Il y 29287 valeurs manquantes dans les loyers des logements sociaux construits en réponse à la loi SRU. (Il y a 443 782 logements sociaux construits pour la loi SRU.)

Type de logement

Les logements sociaux du parc HLM sont définis par leur financement.

# création d'une variable avec les groupe de financement de logements sociaux
LS_IRIS$financement <- gsub("10", "PLAI", as.character(LS_IRIS$FINAN))
LS_IRIS$financement <- gsub("11", "PLAI", LS_IRIS$financement)
LS_IRIS$financement <- gsub("12", "PLUS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("13", "PLUS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("14", "PLS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("15", "PLS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("16", "PLI", LS_IRIS$financement)
LS_IRIS$financement <- gsub("17", "PLS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("49", "autre", LS_IRIS$financement)
LS_IRIS$financement <- gsub("51", "PLUS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("52", "PLUS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("53", "PLUS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("54", "PLUS", LS_IRIS$financement)
LS_IRIS$financement <- gsub("99", "autre", LS_IRIS$financement)

table(LS_IRIS$financement)
## 
##  autre   PLAI    PLS   PLUS 
##   8590  93345  91015 299366
table(LS_IRIS$financement)/length(LS_IRIS[,1])
## 
##      autre       PLAI        PLS       PLUS 
## 0.01744814 0.18960383 0.18487110 0.60807693
barplot(table(LS_IRIS$financement),
        main = "Types des logements sociaux réponses à la loi SRU")

Nombre de pièces

table(LS_IRIS$NBPIECE)
## 
##      1      2      3      4      5      6      7      8      9 
##  49455 123080 188204 109504  21119    805     85     52     12
table(LS_IRIS$NBPIECE)/length(LS_IRIS[,1])
## 
##            1            2            3            4            5            6 
## 1.004538e-01 2.500020e-01 3.822829e-01 2.224262e-01 4.289724e-02 1.635129e-03 
##            7            8            9 
## 1.726533e-04 1.056232e-04 2.437459e-05
barplot(table(LS_IRIS$NBPIECE), xlab = "pièces", ylab = "effectifs",
        main = "Nombre de pièce des logements réponse à la loi SRU")

group <- as.factor(LS_IRIS$financement)
plot(LS_IRIS$LOYERPRINC, LS_IRIS$NBPIECE, pch = as.numeric(group), col = group,
     xlab = "loyer", ylab = "nombre de pièces",
     main = "Nombre de pièces, loyer et types des logements sociaux réponse à la loi SRU")
legend("bottomright", legend = unique(LS_IRIS$financement), 
       pch = unique(as.numeric(group)), col = unique(group),
       title = "Financement")

Les logements construits avant la loi SRU dans les quartiers IRIS concernés

quartiers = unique(LS_IRIS$quartier_iris)
length(quartiers)
## [1] 5486

Il y a 4820 quartiers IRIS qui sont concernés par des logements construits en réponse à la loi SRU. On va chercher les logements qui sont construits dans ces quartiers avant la loi SRU.

geoloc2021_decret$PLG_IRIS2021[geoloc2021_decret$PLG_IRIS2021 == 'CSZ'] = '0000'
geoloc2021_decret$PLG_IRIS2021[is.na(geoloc2021_decret$PLG_IRIS2021)] = '0000'

# On concatène les codes des communes et des quartiers IRIS
# pour avoir le code du quartier en entier
geoloc2021_decret$quartier_iris <- paste(geoloc2021_decret$DEPCOM, geoloc2021_decret$PLG_IRIS2021,
                                  sep = "")
logements_precedents <-
geoloc2021_decret[geoloc2021_decret$quartier_iris %in% quartiers &
                  geoloc2021_decret$CONSTRUCT <= 2001 &
                  geoloc2021_decret$FINAN != 16,]

Il y a 608072 logements construits avant la mise en place de la loi SRU dans les quartiers où seront construits des logements sociaux en réponse à la loi SRU.

length(unique(logements_precedents$quartier_iris))
## [1] 4156

Loyer

# les loyers sont inscrits avec des ',' lorsque qu'il ne s'agit pas d'un nombre 
# entier donc R les comprend comme des chaîne de caractères. On remplace les ','
# par des '.' et on les transforme en nombres.
logements_precedents$LOYERPRINC = as.numeric(gsub(',', '.', logements_precedents$LOYERPRINC))

# Affichage
summary(logements_precedents$LOYERPRINC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   25.04  316.00  384.00  405.65  472.00 3101.00   34482
hist(logements_precedents$LOYERPRINC, main = "Loyer des logements précédents la loi SRU",
     xlab = "loyer (en euro)")

boxplot(logements_precedents$LOYERPRINC, main = "Loyer des logements précédets la loi SRU")

Il y 27803 valeurs manquantes dans les loyers des logements sociaux précédents la loi SRU. (Il y a 608072 logements sociaux précédents la loi SRU.)

Type de logement

Les logements sociaux du parc HLM sont définis par leur financement.

# création d'une variable avec les groupes de financement de logements sociaux
logements_precedents$financement <- gsub("10", "PLAI", as.character(logements_precedents$FINAN))
logements_precedents$financement <- gsub("11", "PLAI", logements_precedents$financement)
logements_precedents$financement <- gsub("12", "PLUS", logements_precedents$financement)
logements_precedents$financement <- gsub("13", "PLUS", logements_precedents$financement)
logements_precedents$financement <- gsub("14", "PLS", logements_precedents$financement)
logements_precedents$financement <- gsub("15", "PLS", logements_precedents$financement)
logements_precedents$financement <- gsub("16", "PLI", logements_precedents$financement)
logements_precedents$financement <- gsub("17", "PLS", logements_precedents$financement)
logements_precedents$financement <- gsub("49", "autre", logements_precedents$financement)
logements_precedents$financement <- gsub("50", "PLUS", logements_precedents$financement)
logements_precedents$financement <- gsub("51", "PLUS", logements_precedents$financement)
logements_precedents$financement <- gsub("52", "PLUS", logements_precedents$financement)
logements_precedents$financement <- gsub("53", "PLUS", logements_precedents$financement)
logements_precedents$financement <- gsub("54", "PLUS", logements_precedents$financement)
logements_precedents$financement <- gsub("55", "PLUS", logements_precedents$financement)
logements_precedents$financement <- gsub("99", "autre", logements_precedents$financement)

table(logements_precedents$financement)
## 
##  autre   PLAI    PLS   PLUS 
##  53157  37397  35091 580234
sum(is.na(logements_precedents$financement))
## [1] 0
table(logements_precedents$financement)/length(logements_precedents[,1])
## 
##      autre       PLAI        PLS       PLUS 
## 0.07530611 0.05297933 0.04971249 0.82200207
barplot(table(logements_precedents$financement),
        main = "Types des logements sociaux précédents la loi SRU")

Nombre de pièces

table(logements_precedents$NBPIECE)
## 
##      1      2      3      4      5      6      7      8      9 
##  61084 141118 253005 194485  50154   5566    401     42     24
table(logements_precedents$NBPIECE)/length(logements_precedents[,1])
## 
##            1            2            3            4            5            6 
## 8.653608e-02 1.999181e-01 3.584255e-01 2.755217e-01 7.105184e-02 7.885204e-03 
##            7            8            9 
## 5.680860e-04 5.950028e-05 3.400016e-05
barplot(table(logements_precedents$NBPIECE), xlab = "pièces", ylab = "effectif", 
        main = "Nombre de pièces des logements sociaux précédents la loi SRU")

group <- as.factor(logements_precedents$financement)
plot(logements_precedents$LOYERPRINC, logements_precedents$NBPIECE, pch = as.numeric(group), col = group,
     xlab = "loyer", ylab = "nombre de pièces",
     main = "Nombre de pièces, loyer et types des logements sociaux précédents la loi SRU   ")
legend("bottomright", legend = unique(logements_precedents$financement), 
       pch = unique(as.numeric(group)), col = unique(group),
       title = "Financement")

Comparaison des logements construits pour la loi SRU et les logements les précédant

# Calcul des moyennes et médianes des loyers pour les logements précédents la loi SRU
mydb <- dbConnect(RSQLite::SQLite(), "")
dbWriteTable(mydb, "logements_precedents", logements_precedents)
dbWriteTable(mydb, "LS_IRIS", LS_IRIS)

# les loyers moyen et médian des LS par quartiers IRIS pour les logements 
# précédents la loi SRU
MOY_pre <-
  dbGetQuery(mydb, "
        SELECT DEPCOM, quartier_iris,
        AVG(LOYERPRINC) \"LOYERCOM_MOY_pre\", 
        MEDIAN(LOYERPRINC) \"LOYERCOM_MED_pre\",
        AVG(NBPIECE) \"NBPIECE_MOY_pre\", 
        MEDIAN(NBPIECE) \"NBPIECE_MED_pre\", 
        COUNT(*) \"NB_LOG_pre\"
        FROM logements_precedents
        GROUP BY quartier_iris
        ")

# les loyers moyen et médian des LS par quartier IRIS pour les logements réponse
# à la loi SRU
MOY_rep <- 
  dbGetQuery(mydb, "
        SELECT DEPCOM, quartier_iris,
        AVG(LOYERPRINC) \"LOYERCOM_MOY_rep\", 
        MEDIAN(LOYERPRINC) \"LOYERCOM_MED_rep\",
        AVG(NBPIECE) \"NBPIECE_MOY_rep\", 
        MEDIAN(NBPIECE) \"NBPIECE_MED_rep\", 
        COUNT(*) \"NB_LOG_rep\"
        FROM LS_IRIS
        GROUP BY quartier_iris
        ")

dbWriteTable(mydb, "MOY_pre", MOY_pre)
dbWriteTable(mydb, "MOY_rep", MOY_rep)

MOY <- 
  dbGetQuery(mydb, "
             SELECT quartier_iris,
                    LOYERCOM_MOY_pre, LOYERCOM_MOY_rep,
                    LOYERCOM_MED_pre, LOYERCOM_MED_rep,
                    NBPIECE_MOY_pre, NBPIECE_MOY_rep,
                    NBPIECE_MED_pre, NBPIECE_MED_rep,
                    NB_LOG_pre, NB_LOG_rep
             FROM MOY_pre m1 JOIN 
                  MOY_rep m2 USING(quartier_iris)")

dbDisconnect(mydb)

On regarde les 4074 quartierss qui ont des logements sociaux construits avant et après l’application de la loi.

max = max(c(MOY$LOYERCOM_MED_pre[is.na(MOY$LOYERCOM_MED_pre) == 0], 
            MOY$LOYERCOM_MED_rep[is.na(MOY$LOYERCOM_MED_rep) == 0]))
par(mar = par("mar") + c(0, 7.5, 0, 7.5))
plot(MOY$LOYERCOM_MOY_pre, MOY$LOYERCOM_MOY_rep, pch = 20,
     xlab = "loyer des logements précédents la loi SRU",
     ylab = "loyer des logements réponse à la loi SRU",
     main = "Loyers moyens par quartier des logements sociaux",
     xlim = c(0, max), ylim = c(0, max))

MOY[is.na(MOY$LOYERCOM_MOY_pre) == 0 & MOY$LOYERCOM_MOY_pre>2000,]
##      quartier_iris LOYERCOM_MOY_pre LOYERCOM_MOY_rep LOYERCOM_MED_pre
## 1982     603820201             2398         475.4247             2398
##      LOYERCOM_MED_rep NBPIECE_MOY_pre NBPIECE_MOY_rep NBPIECE_MED_pre
## 1982              474               9        2.968468               9
##      NBPIECE_MED_rep NB_LOG_pre NB_LOG_rep
## 1982               3          1        222
logements_precedents[logements_precedents$quartier_iris == 603820201,]
##             X.1 IDENT_REP           IDENT_INT IDENT_ORG DROIT DEPCOM CODEPOSTAL
## 1193464 1193464  12791671 1.9301.401.001.0001     10424     1  60382      60280
##                       LIBCOM NUMVOIE INDREP TYPVOIE         NOMVOIE NUMAPPT
## 1193464 Margny-lès-Compiègne     172                RUE JEAN JAURES       1
##         NUMBOITE ESC COULOIR ETAGE COMPLIDENT ENTREE BAT IMMEU COMPLGEO LIEUDIT
## 1193464                          0                                             
##         QPV TYPECONST NBPIECE SURFHAB CONSTRUCT LOCAT PATRIMOINE ORIGINE
## 1193464   2         I       9     100      2000  2000       2000       1
##         RSEXPRO SIRETEXPRO FINAN FINANAUTRE CONV NUMCONV DATCONV SORTIEPATRIM
## 1193464                       49         49    2    <NA>    <NA>            9
##         OLDLOGT NEWLOGT MODE  BAIL MODESURF SURFMODE LOYERPRINC LOYERACC
## 1193464      NA      NA    4 NA/NA       NA       NA       2398       NA
##         CONTRIB CUS DPEDATE DPEENERGIE DPESERRE SRU_EXPIR SRU_ALINEA IDENTGES
## 1193464      NA  NA 01/2018          D        D        NA         NA         
##         CODSEGPATRIM LIBSEGPATRIM LOYERMAXAPL LOYERMAXCUS QUALACQ MISCOMMERCIAL
## 1193464                                    NA          NA      NA             2
##         PRIXVENTE PRODFIN REMLOCDATE CONTRESLOG PMR DATMISVENTE DATVEFFECT
## 1193464        NA      NA       <NA>          7   1        <NA>       <NA>
##         CAT_ORG                               RS      SIRET DEP LIBDEP REG
## 1193464     211 SA HLM du département de l'Aisne 5.8598e+13  60   Oise  32
##                  LIBREG      EPCI
## 1193464 Hauts-de-France 200067965
##                                                     LIBEPCI
## 1193464 CA de la Région de Compiègne et de la Basse Automne
##         DEPARTEMENTS_DE_L_EPCI REGIONS_DE_L_EPCI ARN finan_cus mes_sanscumul
## 1193464                     60                32  NA       PLI             0
##         loymoy age duree_vacance ANNEE_REMLOC MOIS_REMLOC MOIS_BAIL ANNEE_BAIL
## 1193464  23,98  20          <NA>           NA          NA        NA         NA
##         BAIL_DATE REMLOCDATE_DATE PLG_CODE_COMMUNE2021        PLG_VOIE EPSG
## 1193464      <NA>            <NA>                60382 RUE JEAN JAURES 2154
##                X       Y PLG_QP PLG_IRIS2021 PLG_ZUS PLG_ZFU PLG_QVA
## 1193464 687024,6 6925122    CSZ         0201     CSZ     CSZ     CSZ
##         QUALITE_VOIE QUALITE_NUMERO QUALITE_XY DISTANCE_PRECISION QUALITE_QP
## 1193464            1              1         11               <NA>         NA
##         QUALITE_IRIS QUALITE_ZUS QUALITE_ZFU QUALITE_QVA MILLESIME COMAQP
## 1193464            1          NA          NA          NA      2021      0
##         COMAZUS COMRIL EPCI_2021 UU2020 AAV2020 ZE2020 quartier_iris
## 1193464       0      0 200067965  60502     078   3210     603820201
##         financement
## 1193464       autre

Le quartier 603820201 a une moyenne très haute pour les loyers précédents la loi SRU. En fait, il s’agit d’un seul logement avec un loyer élevé.

hist(MOY$LOYERCOM_MOY_pre - MOY$LOYERCOM_MOY_rep)

par(mar = par("mar") + c(0, 7.5, 0, 7.5))
plot(MOY$LOYERCOM_MED_pre, MOY$LOYERCOM_MED_rep, pch = 20,
     xlab = "loyer logements précédents la loi SRU",
     ylab = "loyer logements réponse à la loi SRU",
     main = "Loyers médians par quartier des logements sociaux",
     xlim = c(0, max), ylim = c(0, max))

par(mar = par("mar") + c(0, 7.5, 0, 7.5))
plot(MOY$NBPIECE_MOY_pre, MOY$NBPIECE_MOY_rep, pch = 20,
     xlab = "Nombre de pièces pour les logements précédents la loi SRU",
     ylab = "Nombre de pièces pour les logements réponse    ",
     main = "Nombres de pièces moyen pour les quartiers IRIS",
     xlim = c(1, 9), ylim = c(1, 9), lab = c(9, 9, 0))

table(MOY$NBPIECE_MED_pre, MOY$NBPIECE_MED_rep)
##      
##          1  1.5    2  2.5    3  3.5    4  4.5    5    6    7    8
##   1     18    0   34    2   59    0   11    0    3    0    0    0
##   1.5    2    0    2    0    6    0    1    0    0    0    0    0
##   2     51    3  107   25  280    2   18    1    2    0    0    0
##   2.5    5    0    8    0   20    0    2    0    0    0    0    0
##   3    102    3  278   39 1844   35  181    5   15    2    1    1
##   3.5    0    0    6    0   32    2    7    0    0    0    0    1
##   4      9    0   65   14  598   18  105    3    6    2    0    0
##   4.5    0    0    2    1   16    0    1    0    0    0    0    0
##   5      1    0    4    0   48    0   21    0    2    0    0    0
##   5.5    0    0    0    1    3    1    0    0    0    0    0    0
##   6      0    0    1    0    5    1    4    0    1    0    0    0
##   6.5    0    0    1    0    0    0    0    0    0    0    0    0
##   7      0    0    0    0    3    0    1    0    0    0    0    0
##   7.5    0    0    0    0    1    0    0    0    0    0    0    0
##   9      0    0    0    0    1    0    0    0    0    0    0    0

Comparaison des logements construits pour la loi SRU et du parc total

parc total sur la période

log_periode <- geoloc2021_decret[geoloc2021_decret$CONSTRUCT >= 2002 & # les logements construits à partir de 2002
                                 !(geoloc2021_decret$DEPCOM %in% c( # mais pas dans les communes soumises à la loi SRU
                                 communes_soumises_SRU$code_commune, arrondissements$code)) &
                                 geoloc2021_decret$FINAN != 16,] # On ne prend pas en compte les logements PLI.
log_periode$LOYERPRINC <- as.numeric(gsub(',', '.', log_periode$LOYERPRINC))

Il y a 1218005 logements sociaux construits dans le parc HLM depuis l’application de la loi SRU, dont 679853 qui ne sont pas construits dans les communes soumises à la loi SRU.

Loyer

summary(log_periode$LOYERPRINC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   26.08  362.00  433.00  444.31  507.00 2224.00   43238
boxplot(LS_IRIS$LOYERPRINC, log_periode$LOYERPRINC,
        ylab = "loyer (en euro)", 
        main = "Loyers des logements du parc HLM construits sur la période de la loi SRU",
        names = c("logements SRU", "logements non SRU"))

Type de logement

# création d'une variable avec les groupes de financement de logements sociaux
log_periode$financement <- gsub("10", "PLAI", as.character(log_periode$FINAN))
log_periode$financement <- gsub("11", "PLAI", log_periode$financement)
log_periode$financement <- gsub("12", "PLUS", log_periode$financement)
log_periode$financement <- gsub("13", "PLUS", log_periode$financement)
log_periode$financement <- gsub("14", "PLS", log_periode$financement)
log_periode$financement <- gsub("15", "PLS", log_periode$financement)
log_periode$financement <- gsub("16", "PLI", log_periode$financement)
log_periode$financement <- gsub("17", "PLS", log_periode$financement)
log_periode$financement <- gsub("49", "autre", log_periode$financement)
log_periode$financement <- gsub("50", "PLUS", log_periode$financement)
log_periode$financement <- gsub("51", "PLUS", log_periode$financement)
log_periode$financement <- gsub("52", "PLUS", log_periode$financement)
log_periode$financement <- gsub("53", "PLUS", log_periode$financement)
log_periode$financement <- gsub("54", "PLUS", log_periode$financement)
log_periode$financement <- gsub("55", "PLUS", log_periode$financement)
log_periode$financement <- gsub("99", "autre", log_periode$financement)

table(log_periode$financement)
## 
##  autre   PLAI    PLS   PLUS 
##  24842  93393 106971 454647
sum(is.na(log_periode$financement))
## [1] 0
table(log_periode$financement)/length(log_periode[,1])
## 
##      autre       PLAI        PLS       PLUS 
## 0.03654025 0.13737234 0.15734431 0.66874310
barplot(table(log_periode$financement),
        main = "Types des logements sociaux du parc HLM de la période SRU")

Nombre de pièces

table(log_periode$NBPIECE)
## 
##      1      2      3      4      5      6      7      8      9 
##  52458 143659 257590 186174  37758   2038    141     29      6
table(log_periode$NBPIECE)/sum(table(log_periode$NBPIECE))
## 
##            1            2            3            4            5            6 
## 7.716080e-02 2.113089e-01 3.788907e-01 2.738445e-01 5.553848e-02 2.997707e-03 
##            7            8            9 
## 2.073978e-04 4.265628e-05 8.825437e-06
barplot(table(log_periode$NBPIECE))

parc total sur les communes du territoire SRU et sur la période

log_com <- geoloc2021_decret[geoloc2021_decret$CONSTRUCT >= 2002 & # les logements construits sur la même période
                             geoloc2021_decret$DEPCOM %in% communes_territoire_SRU & # dans le territoire SRU
                             !(geoloc2021_decret$DEPCOM %in% c( # mais pas dans les communes soumises à la loi SRU
                               communes_soumises_SRU$code_commune, arrondissements$code)) &
                              geoloc2021_decret$FINAN != 16,] # et sans les logements PLI

Il y a 503756 logements sociaux du parc HLM construits depuis 2002 dans les communes du territoire SRU mais pas dans les communes soumises à la loi SRU.

Loyer

log_com$LOYERPRINC <- as.numeric(gsub(',', '.', log_com$LOYERPRINC))
summary(log_com$LOYERPRINC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   26.08  364.00  441.00  452.85  521.00 2224.00   38466

Type de logement

# création d'une variable avec les groupes de financement de logements sociaux
log_com$financement <- gsub("10", "PLAI", as.character(log_com$FINAN))
log_com$financement <- gsub("11", "PLAI", log_com$financement)
log_com$financement <- gsub("12", "PLUS", log_com$financement)
log_com$financement <- gsub("13", "PLUS", log_com$financement)
log_com$financement <- gsub("14", "PLS", log_com$financement)
log_com$financement <- gsub("15", "PLS", log_com$financement)
log_com$financement <- gsub("16", "PLI", log_com$financement)
log_com$financement <- gsub("17", "PLS", log_com$financement)
log_com$financement <- gsub("49", "autre", log_com$financement)
log_com$financement <- gsub("50", "PLUS", log_com$financement)
log_com$financement <- gsub("51", "PLUS", log_com$financement)
log_com$financement <- gsub("52", "PLUS", log_com$financement)
log_com$financement <- gsub("53", "PLUS", log_com$financement)
log_com$financement <- gsub("54", "PLUS", log_com$financement)
log_com$financement <- gsub("55", "PLUS", log_com$financement)
log_com$financement <- gsub("99", "autre", log_com$financement)

table(log_com$financement)
## 
##  autre   PLAI    PLS   PLUS 
##  19965  66006  91296 326489
table(log_com$financement)/sum(table(log_com$financement))
## 
##      autre       PLAI        PLS       PLUS 
## 0.03963228 0.13102772 0.18123060 0.64810940
barplot(table(log_com$financement))

Nombre de pièces

table(log_com$NBPIECE)
## 
##      1      2      3      4      5      6      7      8      9 
##  49080 111268 186808 126846  28012   1608    111     19      4
table(log_com$NBPIECE)/sum(table(log_com$NBPIECE))
## 
##            1            2            3            4            5            6 
## 9.742812e-02 2.208768e-01 3.708303e-01 2.518005e-01 5.560629e-02 3.192022e-03 
##            7            8            9 
## 2.203448e-04 3.771667e-05 7.940352e-06
barplot(table(log_com$NBPIECE))

Comparaison

Loyer

summary(LS_IRIS$LOYERPRINC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    32.0   358.0   438.0   451.8   519.0  2871.0   37268
summary(logements_precedents$LOYERPRINC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   25.04  316.00  384.00  405.65  472.00 3101.00   34482
summary(log_periode$LOYERPRINC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   26.08  362.00  433.00  444.31  507.00 2224.00   43238
summary(log_com$LOYERPRINC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   26.08  364.00  441.00  452.85  521.00 2224.00   38466
boxplot(LS_IRIS$LOYERPRINC, logements_precedents$LOYERPRINC, 
        log_periode$LOYERPRINC, log_com$LOYERPRINC,
        names = c("réponse", "précédents", 
                  "depuis 2002", "territoire SRU"),
        xlab = "logements", ylab = "loyer", 
        main = "Boxplots des loyers des logements du parc HLM ")

par(mfrow = c(2,2), oma = c(0, 0, 1, 0), mar = c(4, 2, 1, 1))
hist(LS_IRIS$LOYERPRINC, main = "logements réponse", xlim = c(0, 2500),
     xlab = "loyer (en euros)")
hist(logements_precedents$LOYERPRINC, main = "logements précédents", 
     xlab = "loyer (en euros)", xlim = c(0, 2500))
hist(log_periode$LOYERPRINC, main = "logements depuis 2002", xlim = c(0, 2500),
     xlab = "loyer (en euros)")
hist(log_com$LOYERPRINC, main = "logements territoire SRU", xlim = c(0, 2500),
     xlab = "loyer (en euros)")
title(outer = TRUE, main = "Loyers des logements sociaux du parc HLM")

Type de logement

par(mfrow = c(2,2), oma = c(0, 0, 1, 0), mar = c(2, 2, 2, 1))
barplot(table(LS_IRIS$financement), main = "logements réponse")
barplot(table(logements_precedents$financement), main = "logements précédents")
barplot(table(log_periode$financement), main = "logements depuis 2002")
barplot(table(log_com$financement), main = "logements territoire SRU")
title(outer = TRUE, main = "Type de logements sociaux du parc HLM")

Nombre de pièces

par(mfrow = c(2,2), oma = c(0, 0, 1, 0), mar = c(2, 2, 2, 1))
barplot(table(LS_IRIS$NBPIECE), main = "logements réponse")
barplot(table(logements_precedents$NBPIECE), main = "logements précédents")
barplot(table(log_periode$NBPIECE), main = "logements depuis 2002")
barplot(table(log_com$NBPIECE), main = "logements territoire SRU")
title(outer = TRUE, main = "Nombre de pièces de logements sociaux du parc HLM")

Taille des logements

summary(LS_IRIS$SURFHAB)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     8.0    48.0    65.0    62.6    77.0   260.0
summary(logements_precedents$SURFHAB)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.00   51.00   65.00   63.95   77.00  300.00
summary(log_periode$SURFHAB)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    9.00   54.00   68.00   66.96   81.00  286.00
summary(log_com$SURFHAB)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    9.00   52.00   67.00   65.38   80.00  286.00
boxplot(LS_IRIS$SURFHAB, logements_precedents$SURFHAB, log_periode$SURFHAB,
        log_com$SURFHAB, xlab = "logements", ylab = "surface habitable (m²)", 
        names = c("réponse", "précédents", "depuis 2002", "territoire SRU"),
        main = "Boxplots des surfaces habitables des logements du parc HLM ")

par(mfrow = c(2,2), oma = c(0, 1, 1, 0), mar = c(4, 1, 1, 1))
hist(LS_IRIS$SURFHAB, main = "logements réponse", xlim = c(0, 300),
     xlab = "surface habitable (m²)")
hist(logements_precedents$SURFHAB, main = "logements précédents", 
     xlab = "surface habitable (m²)")
hist(log_periode$SURFHAB, main = "logements depuis 2002",
     xlab = "surface habitable (m²)")
hist(log_com$SURFHAB, main = "logements territoire SRU",
     xlab = "surface habitable (m²)")
title(outer = TRUE, main = "Surface habitable des logements sociaux du parc HLM")

Loyer au m²

LS_IRIS$loyer_m2 = LS_IRIS$LOYERPRINC/LS_IRIS$SURFHAB
logements_precedents$loyer_m2 = logements_precedents$LOYERPRINC/logements_precedents$SURFHAB
log_periode$loyer_m2 = log_periode$LOYERPRINC/log_periode$SURFHAB
log_com$loyer_m2 = log_com$LOYERPRINC/log_com$SURFHAB
summary(LS_IRIS$loyer_m2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.32    6.09    6.67    7.15    7.49   36.50   37268
summary(logements_precedents$loyer_m2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.20    5.26    6.14    6.51    7.18   39.67   34482
summary(log_periode$loyer_m2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.25    5.66    6.20    6.61    7.06   34.58   43238
summary(log_com$loyer_m2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.25    5.82    6.41    6.85    7.34   34.58   38466
boxplot(LS_IRIS$loyer_m2, logements_precedents$loyer_m2, log_periode$loyer_m2,
        log_com$loyer_m2, xlab = "logements", ylab = "loyer au m² (en euros)", 
        names = c("réponse", "précédents", "depuis 2002", "territoire SRU"),
        main = "Boxplots des loyer au m² des logements du parc HLM ")

LS_IRIS[LS_IRIS$loyer_m2>30 & is.na(LS_IRIS$loyer_m2) == 0,]
##        IDENT_REP DEPCOM CONSTRUCT FINAN LOYERPRINC LOYERACC loymoy SURFHAB
## 266369  55021035  68118      2019    13        285       20  35,62       8
## 266372  55021069  68118      2019    10        279       15  34,88       8
## 266373  55021077  68118      2019    13        292       15   36,5       8
## 266374  55021085  68118      2019    13        286       20  35,75       8
## 379641  55690286  92026      2019    49        592       31  32,89      18
## 444341  56498978  75056      2019    49       1376      177     32      43
## 468079  55689974  75056      2019    49        886       91  34,08      26
## 468081  55689990  75056      2019    49        941       88  32,45      29
## 468083  55690012  75056      2019    49        933       50   31,1      30
## 468094  55690129  75056      2019    49        897       86  30,93      29
## 468095  55690137  75056      2019    49        919      122  31,69      29
##        PLG_IRIS2021 QUALITE_IRIS NBPIECE quartier_iris   COM TYP_IRIS
## 266369         0000           NA       1      68118CSZ  <NA>     <NA>
## 266372         0000           NA       1      68118CSZ  <NA>     <NA>
## 266373         0000           NA       1      68118CSZ  <NA>     <NA>
## 266374         0000           NA       1      68118CSZ  <NA>     <NA>
## 379641         0301            1       1     920260301 92026        H
## 444341         1001            1       2     751031001 75103        H
## 468079         7710            1       3     751207710 75120        H
## 468081         7710            1       3     751207710 75120        H
## 468083         7710            1       3     751207710 75120        H
## 468094         7710            1       3     751207710 75120        H
## 468095         7710            1       3     751207710 75120        H
##        MODIF_IRIS LAB_IRIS  P19_POP P19_POP0002 P19_POP0305 P19_POP0610
## 266369         NA     <NA>       NA          NA          NA          NA
## 266372         NA     <NA>       NA          NA          NA          NA
## 266373         NA     <NA>       NA          NA          NA          NA
## 266374         NA     <NA>       NA          NA          NA          NA
## 379641          0        1 1910.796    98.63072    37.93330    77.11074
## 444341          0        1 2349.426    82.22101    64.05826   117.49662
## 468079          0        2 2549.789    98.36723    61.83788    96.44091
## 468081          0        2 2549.789    98.36723    61.83788    96.44091
## 468083          0        2 2549.789    98.36723    61.83788    96.44091
## 468094          0        2 2549.789    98.36723    61.83788    96.44091
## 468095          0        2 2549.789    98.36723    61.83788    96.44091
##        P19_POP1117 P19_POP1824 P19_POP2539 P19_POP4054 P19_POP5564 P19_POP6579
## 266369          NA          NA          NA          NA          NA          NA
## 266372          NA          NA          NA          NA          NA          NA
## 266373          NA          NA          NA          NA          NA          NA
## 266374          NA          NA          NA          NA          NA          NA
## 379641    145.3090    220.4512    464.1187    400.1191    173.5124    175.0590
## 444341    166.6009    230.3795    700.3306    505.3417    236.9333    197.2103
## 468079    169.7314    235.0821    774.4932    486.0683    224.6272    276.6970
## 468081    169.7314    235.0821    774.4932    486.0683    224.6272    276.6970
## 468083    169.7314    235.0821    774.4932    486.0683    224.6272    276.6970
## 468094    169.7314    235.0821    774.4932    486.0683    224.6272    276.6970
## 468095    169.7314    235.0821    774.4932    486.0683    224.6272    276.6970
##        P19_POP80P P19_POP0014 P19_POP1529 P19_POP3044 P19_POP4559 P19_POP6074
## 266369         NA          NA          NA          NA          NA          NA
## 266372         NA          NA          NA          NA          NA          NA
## 266373         NA          NA          NA          NA          NA          NA
## 266374         NA          NA          NA          NA          NA          NA
## 379641  118.55182    295.5586    405.0735    454.1850    391.6149    184.6488
## 444341   48.85421    366.5412    557.4370    604.4400    466.1948    272.0801
## 468079  126.44392    343.6955    607.8152    698.7047    391.8048    326.7685
## 468081  126.44392    343.6955    607.8152    698.7047    391.8048    326.7685
## 468083  126.44392    343.6955    607.8152    698.7047    391.8048    326.7685
## 468094  126.44392    343.6955    607.8152    698.7047    391.8048    326.7685
## 468095  126.44392    343.6955    607.8152    698.7047    391.8048    326.7685
##        P19_POP75P P19_POP0019 P19_POP2064 P19_POP65P  P19_POPH P19_H0014
## 266369         NA          NA          NA         NA        NA        NA
## 266372         NA          NA          NA         NA        NA        NA
## 266373         NA          NA          NA         NA        NA        NA
## 266374         NA          NA          NA         NA        NA        NA
## 379641  179.71510    414.8747    1202.310   293.6108  915.0993  149.7433
## 444341   82.73334    487.6449    1615.717   246.0645 1082.0214  174.1091
## 468079  181.00057    496.1838    1650.465   403.1409 1285.4072  178.7369
## 468081  181.00057    496.1838    1650.465   403.1409 1285.4072  178.7369
## 468083  181.00057    496.1838    1650.465   403.1409 1285.4072  178.7369
## 468094  181.00057    496.1838    1650.465   403.1409 1285.4072  178.7369
## 468095  181.00057    496.1838    1650.465   403.1409 1285.4072  178.7369
##        P19_H1529 P19_H3044 P19_H4559 P19_H6074 P19_H75P P19_H0019 P19_H2064
## 266369        NA        NA        NA        NA       NA        NA        NA
## 266372        NA        NA        NA        NA       NA        NA        NA
## 266373        NA        NA        NA        NA       NA        NA        NA
## 266374        NA        NA        NA        NA       NA        NA        NA
## 379641  197.3237  232.8190  187.0214  85.91789 62.27401  220.5900  578.9188
## 444341  230.3897  305.1510  217.3132 124.08073 30.97769  230.8101  753.6790
## 468079  292.8172  353.7684  183.1571 187.23928 89.68835  249.4419  832.1114
## 468081  292.8172  353.7684  183.1571 187.23928 89.68835  249.4419  832.1114
## 468083  292.8172  353.7684  183.1571 187.23928 89.68835  249.4419  832.1114
## 468094  292.8172  353.7684  183.1571 187.23928 89.68835  249.4419  832.1114
## 468095  292.8172  353.7684  183.1571 187.23928 89.68835  249.4419  832.1114
##         P19_H65P  P19_POPF P19_F0014 P19_F1529 P19_F3044 P19_F4559 P19_F6074
## 266369        NA        NA        NA        NA        NA        NA        NA
## 266372        NA        NA        NA        NA        NA        NA        NA
## 266373        NA        NA        NA        NA        NA        NA        NA
## 266374        NA        NA        NA        NA        NA        NA        NA
## 379641 115.59048  995.6966  145.8154  207.7497  221.3660  204.5935   98.7309
## 444341  97.53233 1267.4050  192.4321  327.0473  299.2890  248.8816  147.9993
## 468079 203.85392 1264.3821  164.9586  314.9980  344.9363  208.6477  139.5292
## 468081 203.85392 1264.3821  164.9586  314.9980  344.9363  208.6477  139.5292
## 468083 203.85392 1264.3821  164.9586  314.9980  344.9363  208.6477  139.5292
## 468094 203.85392 1264.3821  164.9586  314.9980  344.9363  208.6477  139.5292
## 468095 203.85392 1264.3821  164.9586  314.9980  344.9363  208.6477  139.5292
##         P19_F75P P19_F0019 P19_F2064 P19_F65P C19_POP15P C19_POP15P_CS1
## 266369        NA        NA        NA       NA         NA             NA
## 266372        NA        NA        NA       NA         NA             NA
## 266373        NA        NA        NA       NA         NA             NA
## 266374        NA        NA        NA       NA         NA             NA
## 379641 117.44109  194.2847  623.3916 178.0203   1615.237              0
## 444341  51.75566  256.8348  862.0380 148.5322   1986.885              0
## 468079  91.31222  246.7419  818.3532 199.2870   2206.094              0
## 468081  91.31222  246.7419  818.3532 199.2870   2206.094              0
## 468083  91.31222  246.7419  818.3532 199.2870   2206.094              0
## 468094  91.31222  246.7419  818.3532 199.2870   2206.094              0
## 468095  91.31222  246.7419  818.3532 199.2870   2206.094              0
##        C19_POP15P_CS2 C19_POP15P_CS3 C19_POP15P_CS4 C19_POP15P_CS5
## 266369             NA             NA             NA             NA
## 266372             NA             NA             NA             NA
## 266373             NA             NA             NA             NA
## 266374             NA             NA             NA             NA
## 379641       48.02535       464.6834       306.9753       168.0470
## 444341      127.92630       671.3970       329.6646       220.3012
## 468079       65.20093       509.9049       385.2456       248.6418
## 468081       65.20093       509.9049       385.2456       248.6418
## 468083       65.20093       509.9049       385.2456       248.6418
## 468094       65.20093       509.9049       385.2456       248.6418
## 468095       65.20093       509.9049       385.2456       248.6418
##        C19_POP15P_CS6 C19_POP15P_CS7 C19_POP15P_CS8  C19_H15P C19_H15P_CS1
## 266369             NA             NA             NA        NA           NA
## 266372             NA             NA             NA        NA           NA
## 266373             NA             NA             NA        NA           NA
## 266374             NA             NA             NA        NA           NA
## 379641       67.84078       303.5612       256.1042  765.3561            0
## 444341       80.76791       241.1292       315.6990  912.9123            0
## 468079      172.01787       404.5032       420.5796 1106.6703            0
## 468081      172.01787       404.5032       420.5796 1106.6703            0
## 468083      172.01787       404.5032       420.5796 1106.6703            0
## 468094      172.01787       404.5032       420.5796 1106.6703            0
## 468095      172.01787       404.5032       420.5796 1106.6703            0
##        C19_H15P_CS2 C19_H15P_CS3 C19_H15P_CS4 C19_H15P_CS5 C19_H15P_CS6
## 266369           NA           NA           NA           NA           NA
## 266372           NA           NA           NA           NA           NA
## 266373           NA           NA           NA           NA           NA
## 266374           NA           NA           NA           NA           NA
## 379641     39.01102     265.7968     110.5686     46.84861     50.19272
## 444341     83.15540     336.7802     114.1377     89.04863     61.53398
## 468079     32.06243     230.2483     215.8796     83.02421    142.44156
## 468081     32.06243     230.2483     215.8796     83.02421    142.44156
## 468083     32.06243     230.2483     215.8796     83.02421    142.44156
## 468094     32.06243     230.2483     215.8796     83.02421    142.44156
## 468095     32.06243     230.2483     215.8796     83.02421    142.44156
##        C19_H15P_CS7 C19_H15P_CS8  C19_F15P C19_F15P_CS1 C19_F15P_CS2
## 266369           NA           NA        NA           NA           NA
## 266372           NA           NA        NA           NA           NA
## 266373           NA           NA        NA           NA           NA
## 266374           NA           NA        NA           NA           NA
## 379641    130.24332     122.6950  849.8812            0     9.014337
## 444341     95.06664     133.1898 1073.9729            0    44.770897
## 468079    213.69930     189.3149 1099.4235            0    33.138500
## 468081    213.69930     189.3149 1099.4235            0    33.138500
## 468083    213.69930     189.3149 1099.4235            0    33.138500
## 468094    213.69930     189.3149 1099.4235            0    33.138500
## 468095    213.69930     189.3149 1099.4235            0    33.138500
##        C19_F15P_CS3 C19_F15P_CS4 C19_F15P_CS5 C19_F15P_CS6 C19_F15P_CS7
## 266369           NA           NA           NA           NA           NA
## 266372           NA           NA           NA           NA           NA
## 266373           NA           NA           NA           NA           NA
## 266374           NA           NA           NA           NA           NA
## 379641     198.8866     196.4067     121.1984     17.64806     173.3178
## 444341     334.6168     215.5270     131.2526     19.23392     146.0625
## 468079     279.6566     169.3660     165.6176     29.57631     190.8039
## 468081     279.6566     169.3660     165.6176     29.57631     190.8039
## 468083     279.6566     169.3660     165.6176     29.57631     190.8039
## 468094     279.6566     169.3660     165.6176     29.57631     190.8039
## 468095     279.6566     169.3660     165.6176     29.57631     190.8039
##        C19_F15P_CS8 P19_POP_FR P19_POP_ETR P19_POP_IMM P19_PMEN P19_PHORMEN
## 266369           NA         NA          NA          NA       NA          NA
## 266372           NA         NA          NA          NA       NA          NA
## 266373           NA         NA          NA          NA       NA          NA
## 266374           NA         NA          NA          NA       NA          NA
## 379641     133.4093   1749.814    160.9817    273.0281 1910.796    0.000000
## 444341     182.5092   2010.513    338.9137    488.5300 2345.426    3.999967
## 468079     231.2646   1939.894    609.8955    740.7744 2549.789    0.000000
## 468081     231.2646   1939.894    609.8955    740.7744 2549.789    0.000000
## 468083     231.2646   1939.894    609.8955    740.7744 2549.789    0.000000
## 468094     231.2646   1939.894    609.8955    740.7744 2549.789    0.000000
## 468095     231.2646   1939.894    609.8955    740.7744 2549.789    0.000000
##         P19_LOG    P19_RP P19_RSECOCC P19_LOGVAC P19_MAISON P19_APPART
## 266369       NA        NA          NA         NA         NA         NA
## 266372       NA        NA          NA         NA         NA         NA
## 266373       NA        NA          NA         NA         NA         NA
## 266374       NA        NA          NA         NA         NA         NA
## 379641 1155.005  981.8696    88.07824   85.05669  39.524285   1109.443
## 444341 1503.990 1275.5546   101.95082  126.48413   3.124007   1454.980
## 468079 1720.503 1451.3296    54.36496  214.80884  10.061183   1696.052
## 468081 1720.503 1451.3296    54.36496  214.80884  10.061183   1696.052
## 468083 1720.503 1451.3296    54.36496  214.80884  10.061183   1696.052
## 468094 1720.503 1451.3296    54.36496  214.80884  10.061183   1696.052
## 468095 1720.503 1451.3296    54.36496  214.80884  10.061183   1696.052
##        P19_RP_1P P19_RP_2P P19_RP_3P P19_RP_4P P19_RP_5PP P19_NBPI_RP
## 266369        NA        NA        NA        NA         NA          NA
## 266372        NA        NA        NA        NA         NA          NA
## 266373        NA        NA        NA        NA         NA          NA
## 266374        NA        NA        NA        NA         NA          NA
## 379641  104.8407  229.7863  420.8320  143.7903   82.62037    2866.233
## 444341  413.8873  386.7202  201.1613  131.3491  142.43666    3150.838
## 468079  503.5495  515.4875  264.8799  125.9577   41.45497    3043.514
## 468081  503.5495  515.4875  264.8799  125.9577   41.45497    3043.514
## 468083  503.5495  515.4875  264.8799  125.9577   41.45497    3043.514
## 468094  503.5495  515.4875  264.8799  125.9577   41.45497    3043.514
## 468095  503.5495  515.4875  264.8799  125.9577   41.45497    3043.514
##        P19_RPMAISON P19_NBPI_RPMAISON P19_RPAPPART P19_NBPI_RPAPPART
## 266369           NA                NA           NA                NA
## 266372           NA                NA           NA                NA
## 266373           NA                NA           NA                NA
## 266374           NA                NA           NA                NA
## 379641    36.518714        209.183549     945.3509          2657.050
## 444341     3.124007          3.124007    1261.4944          3132.832
## 468079     6.673961         16.735152    1434.5944          3013.431
## 468081     6.673961         16.735152    1434.5944          3013.431
## 468083     6.673961         16.735152    1434.5944          3013.431
## 468094     6.673961         16.735152    1434.5944          3013.431
## 468095     6.673961         16.735152    1434.5944          3013.431
##        P19_RP_M30M2 P19_RP_3040M2 P19_RP_4060M2 P19_RP_6080M2 P19_RP_80100M2
## 266369           NA            NA            NA            NA             NA
## 266372           NA            NA            NA            NA             NA
## 266373           NA            NA            NA            NA             NA
## 266374           NA            NA            NA            NA             NA
## 379641     88.88544      114.8820      310.6887      309.7450      106.58755
## 444341    416.39862      209.2152      236.8421      122.2214       91.20655
## 468079    434.17719      449.1736      330.8350      134.7320       63.68656
## 468081    434.17719      449.1736      330.8350      134.7320       63.68656
## 468083    434.17719      449.1736      330.8350      134.7320       63.68656
## 468094    434.17719      449.1736      330.8350      134.7320       63.68656
## 468095    434.17719      449.1736      330.8350      134.7320       63.68656
##        P19_RP_100120M2 P19_RP_120M2P P19_RP_ACHTOT P19_RP_ACH19 P19_RP_ACH45
## 266369              NA            NA            NA           NA           NA
## 266372              NA            NA            NA           NA           NA
## 266373              NA            NA            NA           NA           NA
## 266374              NA            NA            NA           NA           NA
## 379641        33.05660    18.0244039      981.8696     161.9650     339.8926
## 444341        95.19428   104.4764699     1271.6087     883.6119     137.7031
## 468079        37.76373     0.9615558     1448.0429     263.6298     389.4813
## 468081        37.76373     0.9615558     1448.0429     263.6298     389.4813
## 468083        37.76373     0.9615558     1448.0429     263.6298     389.4813
## 468094        37.76373     0.9615558     1448.0429     263.6298     389.4813
## 468095        37.76373     0.9615558     1448.0429     263.6298     389.4813
##        P19_RP_ACH70 P19_RP_ACH90 P19_RP_ACH05 P19_RP_ACH15 P19_RPMAISON_ACHTOT
## 266369           NA           NA           NA           NA                  NA
## 266372           NA           NA           NA           NA                  NA
## 266373           NA           NA           NA           NA                  NA
## 266374           NA           NA           NA           NA                  NA
## 379641     292.1070    119.27555     65.63931     2.990189           36.518714
## 444341     106.1953     54.87602     27.58120    61.641043            3.124007
## 468079     326.2030    320.54350    145.37423     2.811083            6.673961
## 468081     326.2030    320.54350    145.37423     2.811083            6.673961
## 468083     326.2030    320.54350    145.37423     2.811083            6.673961
## 468094     326.2030    320.54350    145.37423     2.811083            6.673961
## 468095     326.2030    320.54350    145.37423     2.811083            6.673961
##        P19_RPMAISON_ACH19 P19_RPMAISON_ACH45 P19_RPMAISON_ACH70
## 266369                 NA                 NA                 NA
## 266372                 NA                 NA                 NA
## 266373                 NA                 NA                 NA
## 266374                 NA                 NA                 NA
## 379641           18.21093          12.515295           5.792486
## 444341            0.00000           3.124007           0.000000
## 468079            3.38723           3.286731           0.000000
## 468081            3.38723           3.286731           0.000000
## 468083            3.38723           3.286731           0.000000
## 468094            3.38723           3.286731           0.000000
## 468095            3.38723           3.286731           0.000000
##        P19_RPMAISON_ACH90 P19_RPMAISON_ACH05 P19_RPMAISON_ACH15
## 266369                 NA                 NA                 NA
## 266372                 NA                 NA                 NA
## 266373                 NA                 NA                 NA
## 266374                 NA                 NA                 NA
## 379641                  0                  0                  0
## 444341                  0                  0                  0
## 468079                  0                  0                  0
## 468081                  0                  0                  0
## 468083                  0                  0                  0
## 468094                  0                  0                  0
## 468095                  0                  0                  0
##        P19_RPAPPART_ACHTOT P19_RPAPPART_ACH19 P19_RPAPPART_ACH45
## 266369                  NA                 NA                 NA
## 266372                  NA                 NA                 NA
## 266373                  NA                 NA                 NA
## 266374                  NA                 NA                 NA
## 379641            945.3509           143.7541           327.3773
## 444341           1257.5485           874.7295           134.5791
## 468079           1431.3077           256.8553           382.8073
## 468081           1431.3077           256.8553           382.8073
## 468083           1431.3077           256.8553           382.8073
## 468094           1431.3077           256.8553           382.8073
## 468095           1431.3077           256.8553           382.8073
##        P19_RPAPPART_ACH70 P19_RPAPPART_ACH90 P19_RPAPPART_ACH05
## 266369                 NA                 NA                 NA
## 266372                 NA                 NA                 NA
## 266373                 NA                 NA                 NA
## 266374                 NA                 NA                 NA
## 379641           286.3145          119.27555           65.63931
## 444341           106.1953           53.84913           26.55430
## 468079           326.2030          320.54350          142.08750
## 468081           326.2030          320.54350          142.08750
## 468083           326.2030          320.54350          142.08750
## 468094           326.2030          320.54350          142.08750
## 468095           326.2030          320.54350          142.08750
##        P19_RPAPPART_ACH15   P19_MEN P19_MEN_ANEM0002 P19_MEN_ANEM0204
## 266369                 NA        NA               NA               NA
## 266372                 NA        NA               NA               NA
## 266373                 NA        NA               NA               NA
## 266374                 NA        NA               NA               NA
## 379641           2.990189  981.8696         107.6950         200.8772
## 444341          61.641043 1275.5546         246.5479         327.7805
## 468079           2.811083 1451.3296         245.0068         426.0994
## 468081           2.811083 1451.3296         245.0068         426.0994
## 468083           2.811083 1451.3296         245.0068         426.0994
## 468094           2.811083 1451.3296         245.0068         426.0994
## 468095           2.811083 1451.3296         245.0068         426.0994
##        P19_MEN_ANEM0509 P19_MEN_ANEM10P P19_PMEN_ANEM0002 P19_PMEN_ANEM0204
## 266369               NA              NA                NA                NA
## 266372               NA              NA                NA                NA
## 266373               NA              NA                NA                NA
## 266374               NA              NA                NA                NA
## 379641         198.9614        474.3361          175.0240          415.3430
## 444341         221.8815        479.3447          375.6303          538.7111
## 468079         291.1529        489.0704          417.5470          652.5673
## 468081         291.1529        489.0704          417.5470          652.5673
## 468083         291.1529        489.0704          417.5470          652.5673
## 468094         291.1529        489.0704          417.5470          652.5673
## 468095         291.1529        489.0704          417.5470          652.5673
##        P19_PMEN_ANEM0509 P19_PMEN_ANEM10P P19_NBPI_RP_ANEM0002
## 266369                NA               NA                   NA
## 266372                NA               NA                   NA
## 266373                NA               NA                   NA
## 266374                NA               NA                   NA
## 379641          450.6441         869.7848             216.2511
## 444341          453.9952         977.0898             515.7964
## 468079          501.4570         978.2181             498.2975
## 468081          501.4570         978.2181             498.2975
## 468083          501.4570         978.2181             498.2975
## 468094          501.4570         978.2181             498.2975
## 468095          501.4570         978.2181             498.2975
##        P19_NBPI_RP_ANEM0204 P19_NBPI_RP_ANEM0509 P19_NBPI_RP_ANEM10P
## 266369                   NA                   NA                  NA
## 266372                   NA                   NA                  NA
## 266373                   NA                   NA                  NA
## 266374                   NA                   NA                  NA
## 379641             525.1519             573.6535            1551.177
## 444341             692.7638             537.4616            1404.817
## 468079             805.9317             578.5757            1160.709
## 468081             805.9317             578.5757            1160.709
## 468083             805.9317             578.5757            1160.709
## 468094             805.9317             578.5757            1160.709
## 468095             805.9317             578.5757            1160.709
##        P19_RP_PROP P19_RP_LOC P19_RP_LOCHLMV P19_RP_GRAT P19_NPER_RP
## 266369          NA         NA             NA          NA          NA
## 266372          NA         NA             NA          NA          NA
## 266373          NA         NA             NA          NA          NA
## 266374          NA         NA             NA          NA          NA
## 379641    405.8215   557.8871       226.9770    18.16098    1910.796
## 444341    325.8785   903.5734       139.3746    46.10270    2345.426
## 468079    371.7741  1012.4002       194.0721    67.15536    2549.789
## 468081    371.7741  1012.4002       194.0721    67.15536    2549.789
## 468083    371.7741  1012.4002       194.0721    67.15536    2549.789
## 468094    371.7741  1012.4002       194.0721    67.15536    2549.789
## 468095    371.7741  1012.4002       194.0721    67.15536    2549.789
##        P19_NPER_RP_PROP P19_NPER_RP_LOC P19_NPER_RP_LOCHLMV P19_NPER_RP_GRAT
## 266369               NA              NA                  NA               NA
## 266372               NA              NA                  NA               NA
## 266373               NA              NA                  NA               NA
## 266374               NA              NA                  NA               NA
## 379641         790.5913        1084.950            445.2650         35.25485
## 444341         642.2895        1609.436            232.2910         93.70063
## 468079         599.6615        1862.506            506.4606         87.62180
## 468081         599.6615        1862.506            506.4606         87.62180
## 468083         599.6615        1862.506            506.4606         87.62180
## 468094         599.6615        1862.506            506.4606         87.62180
## 468095         599.6615        1862.506            506.4606         87.62180
##        P19_ANEM_RP P19_ANEM_RP_PROP P19_ANEM_RP_LOC P19_ANEM_RP_LOCHLMV
## 266369          NA               NA              NA                  NA
## 266372          NA               NA              NA                  NA
## 266373          NA               NA              NA                  NA
## 266374          NA               NA              NA                  NA
## 379641    14362.86         7958.973        6009.484            3311.114
## 444341    13731.25         5976.800        7159.925            1898.979
## 468079    13595.90         5009.995        7999.860            2730.542
## 468081    13595.90         5009.995        7999.860            2730.542
## 468083    13595.90         5009.995        7999.860            2730.542
## 468094    13595.90         5009.995        7999.860            2730.542
## 468095    13595.90         5009.995        7999.860            2730.542
##        P19_ANEM_RP_GRAT P19_RP_SDB P19_RP_CCCOLL P19_RP_CCIND P19_RP_CINDELEC
## 266369               NA         NA            NA           NA              NA
## 266372               NA         NA            NA           NA              NA
## 266373               NA         NA            NA           NA              NA
## 266374               NA         NA            NA           NA              NA
## 379641         394.3997   949.2268      480.9912     198.2564        298.9006
## 444341         594.5281  1200.0784      328.8735     352.7307        590.8263
## 468079         586.0492  1363.4798      188.0737     369.9934        886.6891
## 468081         586.0492  1363.4798      188.0737     369.9934        886.6891
## 468083         586.0492  1363.4798      188.0737     369.9934        886.6891
## 468094         586.0492  1363.4798      188.0737     369.9934        886.6891
## 468095         586.0492  1363.4798      188.0737     369.9934        886.6891
##        P19_RP_ELEC P19_RP_EAUCH P19_RP_BDWC P19_RP_CHOS P19_RP_CLIM
## 266369          NA           NA          NA          NA          NA
## 266372          NA           NA          NA          NA          NA
## 266373          NA           NA          NA          NA          NA
## 266374          NA           NA          NA          NA          NA
## 379641          NA           NA          NA          NA          NA
## 444341          NA           NA          NA          NA          NA
## 468079          NA           NA          NA          NA          NA
## 468081          NA           NA          NA          NA          NA
## 468083          NA           NA          NA          NA          NA
## 468094          NA           NA          NA          NA          NA
## 468095          NA           NA          NA          NA          NA
##        P19_RP_TTEGOU P19_RP_GARL P19_RP_VOIT1P P19_RP_VOIT1 P19_RP_VOIT2P
## 266369            NA          NA            NA           NA            NA
## 266372            NA          NA            NA           NA            NA
## 266373            NA          NA            NA           NA            NA
## 266374            NA          NA            NA           NA            NA
## 379641            NA    331.4425      524.5069     462.6809      61.82594
## 444341            NA    177.7114      253.6152     241.2930      12.32228
## 468079            NA    109.3072      202.6192     186.1753      16.44392
## 468081            NA    109.3072      202.6192     186.1753      16.44392
## 468083            NA    109.3072      202.6192     186.1753      16.44392
## 468094            NA    109.3072      202.6192     186.1753      16.44392
## 468095            NA    109.3072      202.6192     186.1753      16.44392
##        P19_RP_HABFOR P19_RP_CASE P19_RP_MIBOIS P19_RP_MIDUR C19_RP_HSTU1P
## 266369            NA          NA            NA           NA            NA
## 266372            NA          NA            NA           NA            NA
## 266373            NA          NA            NA           NA            NA
## 266374            NA          NA            NA           NA            NA
## 379641            NA          NA            NA           NA      900.5197
## 444341            NA          NA            NA           NA      915.3189
## 468079            NA          NA            NA           NA      998.4713
## 468081            NA          NA            NA           NA      998.4713
## 468083            NA          NA            NA           NA      998.4713
## 468094            NA          NA            NA           NA      998.4713
## 468095            NA          NA            NA           NA      998.4713
##        C19_RP_HSTU1P_SUROCC taux_ages65P taux_moins20ans taux_cadre
## 266369                   NA           NA              NA         NA
## 266372                   NA           NA              NA         NA
## 266373                   NA           NA              NA         NA
## 266374                   NA           NA              NA         NA
## 379641             107.5986    0.1536589       0.2171214  0.2876874
## 444341             158.4074    0.1047339       0.2075591  0.3379143
## 468079             223.1374    0.1581075       0.1945980  0.2311347
## 468081             223.1374    0.1581075       0.1945980  0.2311347
## 468083             223.1374    0.1581075       0.1945980  0.2311347
## 468094             223.1374    0.1581075       0.1945980  0.2311347
## 468095             223.1374    0.1581075       0.1945980  0.2311347
##        taux_etrangersImmigres taux_av19 taux_19_45 taux_46_70 taux_71_90
## 266369                     NA        NA         NA         NA         NA
## 266372                     NA        NA         NA         NA         NA
## 266373                     NA        NA         NA         NA         NA
## 266374                     NA        NA         NA         NA         NA
## 379641              0.1987385 0.1649557  0.3461688  0.2975008  0.1214780
## 444341              0.2915632 0.6948772  0.1082905  0.0835126  0.0431548
## 468079              0.4104676 0.1820594  0.2689708  0.2252717  0.2213633
## 468081              0.4104676 0.1820594  0.2689708  0.2252717  0.2213633
## 468083              0.4104676 0.1820594  0.2689708  0.2252717  0.2213633
## 468094              0.4104676 0.1820594  0.2689708  0.2252717  0.2213633
## 468095              0.4104676 0.1820594  0.2689708  0.2252717  0.2213633
##        taux_91_05  taux_06_15 financement loyer_m2
## 266369         NA          NA        PLUS 35.62500
## 266372         NA          NA        PLAI 34.87500
## 266373         NA          NA        PLUS 36.50000
## 266374         NA          NA        PLUS 35.75000
## 379641 0.06685135 0.003045403       autre 32.88889
## 444341 0.02169000 0.048474854       autre 32.00000
## 468079 0.10039359 0.001941298       autre 34.07692
## 468081 0.10039359 0.001941298       autre 32.44828
## 468083 0.10039359 0.001941298       autre 31.10000
## 468094 0.10039359 0.001941298       autre 30.93103
## 468095 0.10039359 0.001941298       autre 31.68966
logements_precedents[logements_precedents$loyer_m2>28 & is.na(logements_precedents$loyer_m2) == 0, "FINAN"]
##   [1] 13 13 49 12 13 13 13 13 13 13 13 13 49 49 10 49 99 49 49 49 99 99 99 99 49
##  [26] 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49
##  [51] 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49
##  [76] 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49
## [101] 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49
## [126] 49 49 49 49 49 49 49

Pour les logements construits en réponse à la loi SRU, il y à 5 logements qui forment le groupe avec des loyers élevés au m². Quatre sont dans la commune 68118 (Hirtzbach) et font 8 m², 3 PLUS et PLAI. Le dernier, et également le moins cher, est dans la commune 92026 (Courbevoie), type de financement : autre.

par(mfrow = c(2,2), oma = c(0, 1, 1, 0), mar = c(4, 1, 1, 1))
hist(LS_IRIS$loyer_m2, main = "logements réponse", xlim = c(0, 40), cex.main = 1,
     xlab = "loyer au m²")
hist(logements_precedents$loyer_m2, main = "logements précédents",  cex.main = 1,
     xlab = "loyer au m²", xlim = c(0, 40))
hist(log_periode$loyer_m2, main = "logements depuis 2002", cex.main = 1,
     xlab = "loyer au m²", xlim = c(0, 40))
hist(log_com$loyer_m2, main = "logements territoire SRU", cex.main = 1,
     xlab = "loyer au m²", xlim = c(0, 40))
title(outer = TRUE, main = "Loyer au m² des logements sociaux du parc HLM")